Components, models, actions, and utility functions for LabKey applications and pages
Released: 6 March 2026
- GitHub Issue 897: Study dataset should not allow multivalue text choice as a third key
Released: 4 March 2026
- Remove styles for
.app-page- Component was moved to ui-premium a while ago
- Add
ta-right,ta-leftutil styles - Add UnidentifiedPill
- Add EMPTY_SEQUENCE_WARNING constant
Released: 26 February 2026
- Package updates
Released: 25 February 2026
- GitHub Issue #418: Remove flag field type & migrate to text
Released: 25 February 2026
- GitHub Issue #734: App narrow screen display can cut off error message for field editor pages
- inline-comment footer can take up to 125px on small screens so increase bottom padding for .app-page
Released: 24 February 2026
- GitHub Issue 465: Add auditing capabilities for grid views
- GitHub Issue 840: Increase text choice options from 200 to 500
Released: 24 February 2026
- Bump @labkey/api dependency
Released: 20 February 2026
- GitHub Issue 830: Assay design add transform script webdav path doesn't resolve from subfolder
- AssayProtocolModel.container to compare domain id to the container.parentId to get parentPath when applicable
- TransformScriptsInput to resolve the domain containerId to the containerPath to use for webdav operations
Released: 18 February 2026
- Multi value text choices: field type conversion
- Updates the Text Choice options UI to add an “Allow multiple selections” toggle, multi-choice-specific edit restrictions, and improved confirmation messaging/tests for data-type changes involving text/multi-choice.
- Make multi-choice behaves as an internal variant of Text Choice rather than a separate visible type in data type dropdown
- Modified updateDataType and text choice usage counting to correctly handle conversions between string, Text Choice, and Multi Choice fields, clearing validators/flags and tracking multi-value usage where appropriate.
Released: 18 February 2026
- GitHub Issue 846: Remove display of user role in profile and settings pages
Released: 17 February 2026
- Allow users to use quotation marks for exact search within the apps
Released: 17 February 2026
- Update
FilterStatusto optionally include an "Add Filter" button - add
getIntegerSearchParamutility ininternal/url/utils.ts
Released: 16 February 2026
- Remove GridAliquotViewSelector
- Remove SampleAliquotViewSelector
- Remove isSampleAliquotSelectorEnabled
Released: 11 February 2026
- GitHub Issue 779: Cannot Edit Relative Dates in Sample Finder
- Allow intermediate editing state for relative date values in DatePickerInput
Released: 11 February 2026
- Query: sort columns where name starts with '+'
Released: 5 February 2026
- File import warnings for cross type sample import case
- InferDomain API call and response to include distinctValues for specified column keys
- EntityIdCreationModel.getSchemaQuery to include optional targetQueryName param
Released: 4 February 2026
- Package updates
Released: 30 January 2026
- Update
withQueryModelsto track and cancel requests forloadRows,loadSelectionsandloadTotalCount - Add
RequestHandlerhandling forselectRowsandselectRowsDeprecated - Skip error logging when request is aborted
- Update a few endpoint wrappers to use
request()
Released: 26 January 2026
- Merge from release26.1-SNAPSHOT to develop
- includes changes from 7.7.5 #1926
Released: 20 January 2026
- Multi value text choices
- Added new MULTI_CHOICE_RANGE_URI for defining MVTC fields and updated utils to check against data type
- renamed joinValues prop for SelectInput to skipJoinValues to align with its actual usage
- Modified FilterFacetedSelector and QueryFilterPanel to handle array value selecting for MVTC
Released: 19 January 2026
- GitHub Issue 764: Editable grid border display issue on very small screens
- override default bootstrap table-responsive style for xs scren table border
Released: 14 January 2026
- Merge from release26.1-SNAPSHOT to develop
- includes changes from 7.7.4 #1921
Released: 7 January 2026
- Lineage: add "restricted" property
Released: 6 January 2026
- GitHub Issue 73: Field editor Advanced Settings to allow for non-unique constraint / index
- update UI to allow for single field non-unique index and unique constraint via select dropdown
- update DomainField model to support nonUniqueConstraint in addition to uniqueConstraint
Released: 6 January 2026
- GridColumn: remove width, fixedWidth properties
- Add css class for text align and getTextAlignClassName helper
- Grid: improve styling for columns
Released: 6 January 2026
- GitHub Issue 503: Field editor URL option to set target window (i.e. _blank)
Released: 5 January 2026
- GitHub 562: Combine warning messages for file preview unknown/system fields with the warning for duplicate columns
- FilePreviewGrid to combine warningMsg with previewData.warningMsg in a single Alert
Released: 5 January 2026
- Add a “Mixed” state in Bulk Edit when values differ across selected samples
- Modified getCommonDataValues utility to return both common field values and a list of fields with conflicting values
- Added hasMixedValue prop support across all input components (TextInput, SelectInput, CheckboxInput, DatePickerInput, FileInput, TextAreaInput, AmountUnitInput)
- Updated BulkUpdateForm and BulkAddUpdateForm to pass conflicting fields information to form inputs
Released: 22 January 2026
- GitHub Issue #798 - add product feature flag for advanced workflow
Released: 8 January 2026
- GitHub Issue #723
- EditableDetailPanel: use
useRouteLeave
- EditableDetailPanel: use
Released: 31 December 2025
- GitHub Issue #495
- Remove some gratuitous capitalization of field names in audit event details
- When generating a column label for an added parent column in the editable grid, don't capitalize the query name
Released: 30 December 2025
- Remove unused
getVolumeMinStepmethod - Improve typings, test checks
Released: 29 December 2025
- GitHub Issue 734 Update sizing of comment input box for better display in narrow screens
- GitHub Issue 457 Update messaging for deleting samples linked to studies
- Remove support for discussions in lists
Released: 29 December 2025
- Workflow Automation: Task action to filter samples for selected task
- Added
lockReadOnlyForDeleteprop for workflow filter components to prevent modification of read-only filters used for deletion. - Introduced
EntityFieldFiltertype (renamed fromFieldFilter) for improved clarity and consistency across workflow task filters. - Added new filter action helper functions:
getActionValuesForFilterPropsandremoveFilterValueForFilterPropsto simplify reading and updating filter values. - Added support for
supportAllValueInQueryin entity data types so workflow filters can include an "All" option when querying entities.
- Added
Released: 29 December 2025
- Copy folder access settings when copying freezers and assay designs
- GitHub Issue #284: Freezer copy
- GitHub Issue #305: Assay design copy
Released: 24 December 2025
- Add
displaySelectedOptionsprop and respect setting when passingselectedOptionsto the underlyingSelectInput
Released: 22 December 2025
- Chart builder updates for per-series line type option
- Chart builder option for show/hide data points for line chart type
Released: 22 December 2025
- Add support for moving jobs
- Update
EntityMoveConfirmationModalandEntityMoveModalto add an optionalpermissionType, overriding the defaultInsertpermission check - Add
JobOperationenum andisJobEntityutility - in
userContainerUsercheck that we have data for thecontainerUserswhen reportingisLoadedstate - export
JOB_TYPES_SCHEMAconstant
- Update
- Update punctuation for messaging in operation restrictions.
Released: 15 December 2025
- ConditionalFormatOptions refactor to use ColorPickerInput
Released: 13 December 2025
- Remove LSID column from provisioned sample tables
- Update
getUpdatedData()utility method to only check for primary keys actually used in data iteration. - Fix for LKS sample type designer issue with isValid check when metricUnit is not required
Released: 10 December 2025
- CharBuilderModal: add UI for legend position
Released: 9 December 2025
- Chart builder updates for series color scale options
- ChartColorInputs for single color geomOptions and series specific color and shape value map
- ChartConfig measuresOptions to store per series mapping object
- Hide and show color options based on selected chart type and measures
- ColorPickerInput update to use fixed position by default and new DEFAULT_COLORS constant
- Add LetterIcon for use with "Auto" set series values
Released: 8 December 2025
- Sample Amount/Units polish: part 2
- Introduced a two-tier unit selection system (Amount Type, Display Units) in sample designer
- Added new measurement units (ug, ng) with updated display precision for existing units
- Added a new formsy rule
sampleAmountfor validating sample amount/units input on forms - Disallow large amount (>1.79769E308) for amounts input on form, editable grid, and sample storage editor
Released: 3 December 2025
- ChartBuilderModal
- Update to two-column layout
- Add options for axis labels
- Add options for title / subtitle
- Add options for height / width
Released: 1 December 2025
- Updates for new Workflow implementation
- Update URLResolver to reference new controller for workflow-related actions
- add
WORKFLOWschema and queries and remove legacy job schema/query references - remove ExperimentRunResolver
Released: 25 November 2025
- QueryColumn to only apply displayWidth for multiLine columns
Released: 20 November 2025
- Default to detailed audit behavior
Released: 20 November 2025
- Sample Amount/Units polish
- Disallow negative sample amounts: Update
getValidatedEditableGridValueto check for negative amount values - Added
AmountUnitInputto show amount/units input side-by-side on bulk add/edit
- Disallow negative sample amounts: Update
Released: 20 November 2025
- Line chart trendline options for provided parameters to CalculateCurveFit API
- ChartBuilderModal update to include trendline option for provided parameters
- Include new 5 Parameter nonlinear curve fit option in trendline select
- Use column metadata displayWidth in app grid column render calcWidths
Released: 19 November 2025
- Merge from release25.11-SNAPSHOT to develop
- includes changes from 6.68.4 #1892
Released: 18 November 2025
- Exclude plate well column lookup for identifying fields determination
Released: 18 November 2025
- Issue 52560: Need sample-type specific error for incorrect units during multi-sample-type creation
- Build the correct lookupFilters for units validation for
insertPastedData
- Build the correct lookupFilters for units validation for
Released: 13 November 2025
- Issue 54186: App actions for picklists and assay run delete don't get TransactionAuditEvent
- Add 'auditBehavior' to insertRows, updateRows, deleteRows usages so app actions get TransactionAuditEvent
Released: 13 November 2025
- Ability to show identifying fields during assay import of a single sample type
- Modified AssayDefinitionModel.getResultsSampleTypeQueryInfo and getSingleSampleTypeQueryInfo to allow retrieving QueryInfo from a list of sample IDs
- Added updateColumnLookup function to mutate column lookup schema/query for EditorModel
Released: 7 November 2025
- GridPanel
- Convert tests to RTL
- Always use userServerContext instead of optionally using getServerContext
- SelectionStatus: use useServerContext instead of getServerContext
Released: 7 November 2025
- Issue 53567: Improve "Alias" column performance
- Update "Alias" column usages to refer to "value" instead of "displayValue" on select rows responses.
Released: 6 November 2025
- use export-tools to remove unused package exports
Released: 5 November 2025
- Package updates
Released: 5 November 2025
- Merge from release25.11-SNAPSHOT to develop
- includes changes from 6.68.2 #1878
- includes changes from 6.68.3 #1884
Released: 18 November 2025
- GitHub Issue 111: Query metadata editor indicates all fields as "New Field"
- use the field.lockExistingField property to determine if field is new or existing
Released: 4 November 2025
- Issue 53983: Sort fields by caption
- Issue 53927: Adjust column view layout to wrap
Released: 3 November 2025
- SVGChart: render curve fit statistics when available
Released 2 November 2025
- Issue 52063: Domain designer to handle lookup to a query with a pipe character
- don't just split on '|', as the queryName could contain '|' characters
Released 2 November 2025
- Add auditing of what method was used for CRUD
- Modified api.query.insertRows/updateRows/deleteRows/saveRows and moveEntities to accept and process editMethod parameter and record request hash in 'requestSource`
Released: 1 November 2025
- Issue 54160: Non US date parsing in the app
- Added
getAltNonUSParseFormatsdate utility function to provide alternative parse formats for common non-US date/datetime formats - Update DatePickerInput to use alternative parse formats when server date format is non-US
- Update parseDate utility function to use alternative non-US parse formats
- Added
Released 31 October 2025
- Issue 53449: resolve lineage items from container path
- Refer to
item.containerPathinstead ofitem.containerin lineage details
- Refer to
Released 29 October 2025
- Issue 53563: Domain designer lookups don't show newly added entity types after initial load/view
- Remove fetchQueries from client cache
Released 29 October 2025
- Issue 52310: Change application single-value dropdowns to include the current value in the listed options
Released: 23 October 2025
- ChartBuilderModal support for bar/line chart aggregate method and error bar options
- useOverlayTriggerState update to not close popover on document click that is a select option target
- Factor ChartFieldRangeScaleOptions.tsx out of ChartFieldOption.tsx
- Create ChartFieldAggregateOptions.tsx and move y-axis bar chart aggregate method dropdown into tooltip
- support for error bar radio options as separate overlay or to be included in axis options overlay
- Update ChartBuilderModal to pass down aggregate and error bar options to ChartConfig
Released: 22 October 2025
- Various minor fixes for exception reports
Released: 20 October 2025
- SelectionStatus null check for rowCount
Released: 20 October 2025
- QueryModel: remove selectedReportId, add selectedReportIds
- withQueryModels: update selectReport, add clearSelectedReports
- ChartMenu: support multiple report selections
- Add ChartList
Released: 13 October 2025
- Search: escape all quotes in search terms
Released: 10 October 2025
- Issue 52878: Attachment thumbnails from ancestor columns not rendered in Sample Type grid
- Modify
AncestorRendererandMultiValueRendererto handle file/attachment columns
- Modify
Released: 9 October 2025
- Issue 53997: Establish a maximum size for query selections
Released: 9 October 2025
- AssayDefinitionModel: add plateEnabled flag
- Fix circular dependency caused by IQueryColumn interface
Released: 8 October 2025
- Issue 53324: LKSM: Custom Grid View Column Limit
- Don't serialize ViewInfoJson.fields
Released: 8 October 2025
- Filter.actionValueFromFilter fix to move decode columnName out of getDisplayValue()
Released: 7 October 2025
- Issue 53934: Remove stored amount "too precise" validation check on setting amount modal
- remove isValuePrecisionValid() and the related isPrecisionValid()
- use amount value instead of displayValue for EditableGrid and SampleAmountEditModal
Released: 3 October 2025
- Issue 53328: AssayDefinitionModel.hasLookup to only consider the first sample lookup column for assay import cases
Released: 29 September 2025
- Enumerate plate, plate set auditing events
- Introduce
isQueryUpdateEventto flag which events are backed by query audit events
Released: 29 September 2025
- Issue 53979: TextInput to handle non-finite numeric values
- don't set input type = "number" since it will drop non-finite values
Released: 26 September 2025
- Issue 53957: Update error messaging to be more precise
Released: 26 September 2025
- Issue 53036: LKSM: Aliquot registration event in timeline polish
- Display "inherited" instead of NA for aliquot's parent fields in timeline view
Released: 18 September 2025
- Workflow: Change Required Template Fields to be Required at the start of a Job
- Update required field label display to show overlay before asterisk
- Fix CheckBoxInput required field display on Formsy forms
- Add optional
colFieldKeyMapparam toflattenValuesFromRowto convert field names to field keys
Released: 16 September 2025
- Issue 53926: Move custom assay queries to assay schema
Released: 16 September 2025
- EditableColumnMetadata cleanup of unused getFilteredLookupKeys and linkedColInd props
Released: 15 September 2025
- Sample Type Amounts and Units updates for Quantity
- remove unused amount and unit conversion code from measurement.ts and remove the
UnitsModel.addmethod - Update language in
AuditDetails BASE_UNITS->UNITS_KINDand addbaseUnitfield to match server-side concept- Update
StorageAmountInputusages to allow clearing of the unit select input value - Update
AuditDetailsto be able to display provided delta amounts - Remove StoredAmountRenderer
- Allow for "Units" column to be filterable in the various samples grids
- BulkUpdateForm getUpdatedData() to include both amount and units values when either has been changed
SampleAmountInputupdate preferred unit messageSampleAmountEditModalupdated so all users go throughupdateSampleStorageData- Mark
RawAmountandRawUnitsas ignored system fields
- remove unused amount and unit conversion code from measurement.ts and remove the
Released: 12 September 2025
- DatePickerInput: don't add milliseconds when entering current time (Issue 53577)
Released: 8 September 2025
- QueryModel.getSelectedIds: optimize when filterIds are not passed
- EntityMoveModal: Don't use selectionKey, simplify props, improve error messaging
- Refactor PicklistEditModal, ChoosePicklistModal
- Don't rely on selectionKey
- Don't rely on QueryModel
- Add usePicklistSelections to get rid of duplicate selection loading logic
- Update AddToPicklistMenuItem, PicklistCreationMenuItem
- BulkUpdateForm
- Remove props: header, onSubmitForEdit, sortString
- Rename props: pluralNoun, singularNoun -> nounPlural, nounSingular
- Add props: aliquots, sampleOperation, editStatusData
- Render errors
- QueryAPIWrapper: remove getSelection
- EntityServerAPIWrapper.getCrossFolderSelectionResult: remove useSnapshotSelection argument
Released: 3 September 2025
- Issue 53742: Sample Manager: Unable to perform actions from various pages on sample type with a '/'
- Update
createQueryModelIdto use encode schema/query
- Update
Released: 3 September 2025
- Issue 53801: Filter out columns for validation where
isAncestorInput()is true
Released: 29 August 2025
- Support string values for
FileInputso that values can be round-tripped. - Removed unused
QueryInfo.getColumnFieldKeys() - Remove unused
QueryModel.getRow()propertyflattenValues
Released: 29 August 2025
- Issue 53773: Updating a field whose name contains a space via file will silently be ignored if the space is not included in the file
- Stop aggressively infer column based on removed internal spaces
Released: 29 August 2025
- Update default audit level
- Add
Assay Result Eventsaudit event type
- Add
Released: 26 August 2025
- Merge from release25.7-SNAPSHOT to develop
- includes changes from 6.53.4 #1843
Released: 14 August 2025
- Issue 52026 and 51862: Reduce the logging for calculated expression column SQL errors
- add comment tag to executeSql query to indicate it is from a calculated column validation
- use string value compatible with CAST to NUMERIC for parseCalculatedColumn() temp data
Released: 12 August 2025
- Adding new parent alias on designer doesn't always add to the bottom of the list
Released: 7 August 2025
- Add
StoragePositionNumberas a sample storage column
Released: 6 August 2025
- GitHub Issue 788: LKSM Default sample lookup for assay design should default to lookupIsValid
Released: 5 August 2025
- File handling - File path related issue bundle
- Invalid file (that exist but isn't accessible) should show red triangle icon
Released: 4 August 2025
- GitHub Issue 783: Hide domain designer field Advanced Settings that are not currently implemented in app
- GitHub Issue 788: Domain Designer better handling of invalid lookup query value for Sample data type
Released: 30 July 2025
- Add file system audit events for apps
- Add
TransactionAuditIdRendererfor displaying link to page of audit records associated with a transaction id
Released: 24 July 2025
- Address Issue 53366 by not putting
undefinedintoList<ValueDescriptor> - Address Issue 53443 by fixing where we check for optional prop
- Export
ValueDescriptorfor external usage - Update
NameIdSettings,BarTenderSettingsFormandManageSampleStatusesPanelto use app context for api
Released: 21 July 2025
- Issue 53451: JS error when deleting numeric filter values with Between operator
- Fixes for filter modal Between operator handling of empty inputs and leading/trailing spaces
- Fixes for trimming values for any non-CONTAINS filter operators
Released: 18 July 2025
- null checks for exceptions reported to Mothership
Released: 11 July 2025
- Package updates
Released: 10 July 2025
- makeCommaSeparatedString: Add lastSeparator and postfix args, export
Released: 10 July 2025
- Issue 52657: LKSM: We shouldn't allow creating sample names that differ only in case
- Use original case in duplicate name error message
Released: 9 July 2025
- Merge from release25.7-SNAPSHOT to develop
- includes changes from 6.53.1 #1824
- includes changes from 6.53.2 #1823
- includes changes from 6.53.3 #1825
Released: 8 July 2025
- Issue 53134: Set dirty bit after adding uniqueId field
Released: 3 July 2025
- ProductMenu shows 'Dashboard' instead of 'Storage' as subtitle in FM /home route
- Issue 53371: Find Samples by ID JS error when clicking "Find Samples" button without entering anything into the text area
Released: 21 August 2025
- SamplesAPIWrapper: add sort arg to getSelectionLineageData
- Issue 53702: Selection order is not retained when editing multiple samples in grid
Released: 7 July 2025
- Issue 53394: FileInput revert removal of the "-fileUpload" suffix from inputId
Released: 3 July 2025
- Issue 53141: Should set a dirty bit when setting or updating the hit selection criteria for an assay
Released: 3 July 2025
- Issue 53153: Disable value validation for expInput, aliquotParent columns
Released: 1 July 2025
- Remove AssayResultsForSamplesButton, AssayResultsForSamplesMenuItem
- moved to ui-premium
- Add createSnapshotSelectionKeyStr
- Remove getJobCreationHref
- Remove getSelectedSampleIdsFromSelectionKey
- Remove getURLParamsForSampleSelectionKey
- getLookupRowIdsFromSelection: Add optional keyColumn arg
- Export getSamplesTestAPIWrapper
Released: 30 June 2025
- Issue 53360: Pass user comment through after naming pattern warning
Released: 30 June 2025
- Issue 53118: Filter modal change to multiValue type to account for numeric value when parsing
Released: 27 June 2025
- GitHub Issue 787: DomainField JSON file import should respect required boolean for SampleId field
- Issue 53325: withQueryModels to use col fieldKey instead of name when setting omittedColumns for errant calculated fields
Released: 27 June 2025
- Issue 53326: Don't filter
QuerySelectinPrintLabelsModal - Issue 53213: Defensive check for view
sortsarray
Released: 25 June 2025
- Issue 53120: remove processRequest, use getCallbackWrapper
Released: 24 June 2025
- Improve ExecuteSql endpoint wrapper. See #1813.
Released: 23 June 2025
- SampleAliquotViewSelector, GridAliquotViewSelector: Fix props types
- SampleTypeAppContext:
- Remove SampleGridButtonComponent, SamplesTabbedGridPanel, getSamplesEditableGridProps, getWorkflowGridQueryConfigs, SampleStorageButtonComponent, WorkflowGridComponent
- Add omitParentAliases
- useLoadableState: call load function if loader changes
- Remove SampleGridButtonProps
- Remove SamplesTabbedGridPanelComponentProps
- Remove EditableGridLoaderFromSelection
- withQueryModels: resave settings when loading without filters
- This prevents unexpected grid state in our apps when navigating after creating and editing rows
Released: 23 June 2025
- Issue 53267: Display 0 values for identifying fields
Released: 18 June 2025
- Update ESLint configuration and depend on
@labkey/eslint-config
Released: 17 June 2025
- GitHub Issue 748: "View Assay Results for Selected" gives error when no rows have sample IDs
Released: 16 June 2025
- GH Issue 796: App assay Samples > Find Derivatives in Sample Finder not working for field with special characters
- update getLegalIdentifier to include separator param
- FindDerivativesMenuItem update to allow titleCol prop to be passed in
- GH Issue 740: Disable "Find Derivatives in Sample Finder" if grid has no rows
Released: 11 June 2025
- Remove SOURCE_TYPE_KEY constant
Released: 10 June 2025
- Update
AppLinkto extend all props ofAnchorHTMLAttributes - Update
MenuItemto useAppLink - Update all usages of
MenuItemto passAppURLwhere possible
Released: 9 June 2025
- Issue 52556: Add data-fieldkey attribute to grid header elements and input elements (part 2)
- FileInput: drop the "-fileUpload" suffix from inputId
- EntityParentType model not to use capitalizeFirstChar() in generateFieldKey()
- EntityParentType model to set fieldKeyPath in generateColumn()
Released: 6 June 2025
- Issue 52595: Storage editor check in fails if user doesn't have perm to update sample amount/units
- export updateSampleStorageData() and SampleStorageData
- add isDiscard param to updateSampleStorageData()
Released: 6 June 2025
- Issue 53071: Entering more than three digits for milliseconds in a time field causes the value to disappear
- Issue 52820: Sample Manager: editing datetime/time fields in app with display format could result in time precision loss
- Updated
parseTimeutil to be more flexible - Added
getPickerFormatWithPrecisionutil that respects both field's format and selected date/time precision
- Updated
Released: 4 June 2025
- Issue 52527: Implement new method for determining primary app id
Released: 3 June 2025
- Issue 52959: LKSM/LKB: Existing file not shown in Bulk Edit
- Update
getCommonDataValuesto retain full data map for file fields - Update
FileInputto set init value so diff can be generated correctly
- Update
Released: 2 June 2025
- Export Loader type
- DataTypeSelector: Fix react key error
Released: 2 June 2025
- QueryModel: add isQueryInfoLoaded
- withQueryModels: be more defensive when loading rows and total count
Released: 28 May 2025
- Issue 52925: App export to csv/tsv ignores filter with column containing double quote
- Add
encodeFormDataQuoteutil to encode"and its encoded form%22 - Encode form params for exportRows actions
- Add
Released: 28 May 2025
- Issue 53164: AssayPicker.tsx gives JS error if no specialty assay providers available for server
Released: 28 May 2025
- Introduce
getTransferItemDirectoryEntryto centralize handling/wrapping of callingwebkitGetAsEntry()on aDataTransferItemListitem. - Address Issue 53149 by updating endpoint wrapper to be tolerant of invalid payload upon success.
Released: 27 May 2025
- QueryModel/QueryConfig change useSavedSettings from boolean to enum SavedSettings
- Consumers can now opt into 'none', 'all', or 'noFilters'
Released: 26 May 2025
- Migrate
isSetEqualto@labkey/components. Extend with additional support for deep comparison.
Released: 23 May 2025
- Add detailed auditing of domain changes & comment ability
- include
CommentTextAreainBaseDomainDesignerfor supplying user provided comment for domain updates - wire up
auditUserCommentforSampleTypeDesigner,DataClassDesignerandAssayDesignerPanels
- include
Released: 23 May 2025
- Issue 53055: Check for multiple values in single value column
Released: 22 May 2025
- AppURL
- make container and product aware
- add fromMenuUrl static method
- Add AppLink
- Use AppLink any time you need
- Add useAppNavigate
- Use this when you need to navigate, instead of ReactRouter navigate
- Can handle navigating to locations outside of our apps
- DefaultRenderer: Use AppLink
- Issue 53021: Grid Column Renderers can break the back button on pages using useRouteLeave
- NavItem: Use AppLink
- Remove createProductUrl
- Remove createProductUrlFromParts
- Remove createProductUrlFromPartsWithContainer
- Remove getHref
- Rename ProductClickableItem to ProductNavigationItem
- ServerNotificationsConfig: remove unnecessary attributes
- ServerActivityList: convert to FC, use AppLink
Released: 14 May 2025
- Issue 52934: Filter unit options when updating a type that has samples with units
Released: 12 May 2025
- Issue 52773: Update
QuerySelectto manufacture selectable items for not found results. - Dynamically recompute warning and continue to display until unresolved values are no longer "selected".
- Revise
quoteValueColumnWithDelimitersto only modifyvalueanddisplayValuewhen necessary. Stop mutating/removing other properties. SelectInput: Support "notFound" styling for multi-value selected options
Released: 6 May 2025
- Issue 52773: display warning for unresolved form lookup values
Released: 6 May 2025
- Issue 52556: Add data-fieldkey attribute to grid header elements and input elements
Released: 5 May 2025
- Issue 52504: Expose validate lookup setting for sample lookup and turn on by default
Released: 2 May 2025
- Issue 52979: App grid customize view doesn't expand lookup field with special char
- Issue 52472: Re-clicking the Source Types, Sample Types or Assay links in the mega menu removes the sort=Name parameter from the url
- Customize view available field data-fieldkey attribute to use encoded fieldKey values
Released: 2 May 2025
- Export
getSourceDomainDefaultSystemFields
Released: 30 April 2025
- Remove remnants of Edit with Grid from Bulk Edit modal
- Remove unneeded parameters for
EditableGridLoaderFromSelectionandconvertQueryDataToEditorData
- Remove unneeded parameters for
Released: 24 April 2025
- Issue 52929: App hit selection summary grid doesn't render hit selection check icon if assay name ends with colon
Released: 23 April 2025
- Issue 52326: Copy/paste of date values across cells changes date formats
- Add deprecation comment to getSnapshotSelections
- Add createSnapshotSelectionKey and createOrderedSnapshotSelectionKey to Query APIWrapper
Released: 21 April 2025
- Package Updates
Released: 21 April 2025
- Fix
SchemaQuery.parseSelectionKeyto account for view name in selection key
Released: 18 April 2025
- Issue 52156: Editable grid cell with dropdown loses first input character
- SelectInput: load async
defaultInputValuewhen provided. - QuerySelect: start with model, support deferred searches. No more
nullrender cycles. - Defer clearing cell
recordedKeysso that they are utilized for thedefaultInputValueof select input cells.
- SelectInput: load async
Released: 17 April 2025
- Issue 52536: Sample Manager: time format HH:mm:ss.SSS issues
- update
getJsonTimeFormatStringto useISO_LONG_TIME_FORMAT_STRING - initializing datepicker selection of time to have 0 millisecond
- fix detail editing ignoring seconds and milliseconds
- fix bulk add to editable grid with wrong time format
- update
Released: 15 April 2025
- Use
fromZonedTimefromdate-fnspackage to compare dates against server dates inisDateTimeInPastutility function. - Check legend data exists in
HorizontalBarSection - Convert
ItemsLegendto a functional component
Released: 11 April 2025
- Issue 52321: LKSM/LKB: Edit Lineage grid should show Parent or Source columns with aliases by default
- add
additionalParentTypesparam togetOriginalParentsFromLineage - add
omitParentAliasestoLineageEditableGridProps
- add
Released: 11 April 2025
- Issue 52780: URLResolver assay fix for handling splitting of assay URL to account for protocol name with consecutive periods or ending in period
Released: 10 April 2025
- FolderAPIWrapper.getMultipleDataTypeExcludedContainers: return cache friendly result
- createSnapshotSelectionKey: use a separator between the original key and the uuid
- Add createOrderedSnapshotSelectionKey
- SchemaQuery.parseSelectionKey: Support snapshot selections
- Remove saveOrderedSnapshotSelection
Released: 10 April 2025
- Merge from release25.4-SNAPSHOT to develop
- includes changes from 6.34.5 #1770
Released: 9 April 2025
- Issue 52667: null value for amount should remain undefined
- Add spacing between file icon and name in
FileAttachmentEntryandFileInputcomponents - Issue 52275: Limit length of custom label on fields to 200
Released: 4 April 2025
- Issue 47595: Manage Sample Statuses page in LKS should not allow adding new status in child folder
- Add null check for ConfirmImportTypes
Released: 7 April 2025
- Issue 52737: Drag/Fill modifying cells outside of the drag/fill range of cells
Released: 2 April 2025
- Issue 52050: App chart builder modal to handle field names with special characters in input selection
Released: 1 April 2025
- Issue 52532: better messaging for ignored fields from files
Released: 1 April 2025
- Merge from release25.3-SNAPSHOT to develop
- includes changes from 6.26.8 #1761
- includes changes from 6.26.9 #1760
Released: 28 March 2025
- Issue 52311: Mark unresolved lookup values in editable grid with a warning
Released: 28 March 2025
- Add
createSnapshotSelectionKey- Used to snapshot selections for a given QueryModel without needing to use the server side snapshot API or useSnapshotSelections flag
Released: 28 March 2025
- Issue 52068: Filtering on a value with a semicolon is incorrectly displayed in the filter modal facet filter listing
- getFilterValuesAsArray to account for multivalued filter types before splitting string value
- FilterExpressionView to handle value array for showing multivalued filter type textarea
Released: 25 March 2025
- Issue 52608: Field names for calculated column validation need to escape quotes in executeSql query
Released: 25 March 2025
- Merge from release25.3-SNAPSHOT to develop
- includes changes from 6.26.7 #1749
Released: 24 March 2025
- Add
test-to-filescript Cell: ignore readOnly state when handling certain events- Update
dragFillEventto detect and apply padding during drag fill- Issue 52253: Editable grid drag and fill removes internal zeros
- Issue 51584: Editable grid does not delete values in fields if drag-select started in a read-only field
- Update
dragFillEventto generate a TSV then use our underlying paste handling code to insert the drag filled data- Issue 52347: EditableGrid: Drag filling Sample IDs doesn't resolve samples
- Issue 52412: EditableGrid: Drag Filling Lookups with special characters doesn't work
EditableGrid: pass queryFilters when rendering bulk add- Issue 52371: Bulk Add Units list isn't filtered to match Sample Type when inserting samples
Released: 21 March 2025
- Issue 52477: Sample workflow custom fields: edit field inline with special characters
- Issue 52511: Sample Manager: Workflow custom time only field fails to clear value
- Issue 52282: Job/Task dates get shifted when client is in a different time zone
- Issue 52543: Sample Manager: lookup field that looks up to a list with auto key and field containing special character fails to resolve lookup values
Release: 19 March 2025
- Issue 51982: QueryModel useSavedSettings requires containerPath to be set
- to prevent inadvertent cross-folder saved settings from being applied
- applySavedSettings in withQueryModels for both the initModels case and the addModel case
- Issue 52509: TemplateDownloadButton fix to pass openInTab = true
- Issue 52147: Customize View modal fix to get out of column title edit mode to allow for column reorder
Release: 19 March 2025
- Merge from release25.3-SNAPSHOT to develop
- includes changes from 6.26.6 #1750
Release: 18 March 2025
- Expose
enabledas a public property onLabelPrintingContextProps. Default test environment context tofalse. - Support initialization of
enabledinLabelPrintingContextProvider. - Default
canPrintLabelstofalse
Release: 18 March 2025
- Issue 52264: Include
viewNamewhen building query parameters for QueryController selectX actions - Issue 52189: don't show option to validate user lookups
Released: 17 March 2025
- Issue 52533: LKSM: Error creating samples from details pages with Sources with a colon in the name
- Move createEntityParentKey from premium and switch to use '|' for schema|query|keyValue delimiter
- Add parseEntityParentKey util
Released: 13 March 2025
- Issue 52430: Sample Manager: sample names with newline characters
Released: 13 March 2025
- Issue 52367: Don't show name generation message when editing a name
Released: 12 March 2025
- Merge from release25.3-SNAPSHOT to develop
- includes changes from 6.26.4 #1735
- includes changes from 6.26.5 #1741
Released: 10 March 2025
- Add
isTestEnv()andsetIsTestEnv()methods which allow for external packages to configure@labkey/componentsas running in a test environment.
Released: 10 March 2025
- Fix breadcrumb separator scss to apply to .app-body and .li-modal
Released: 9 March 2025
- Clean up smart quotes usages
Released: 7 March 2025
- Bump api-js
- QueryFormInputs
- Fix React Keys error
- Allow file changes for cross-folder selections
Released: 6 March 2025
- Template download button updates
Released: 6 March 2025
- APIKeysPanel: refactor component
- Underlying grid can always expect a grid model
Released: 4 March 2025
- withQueryModels: add onModelChange to Actions
- onModelChange is an action to call after a user has done something to alter the underlying data for a QueryModel e.g. delete or update rows
getGridIdsFromTransactionId: actually return strings
Released: 4 March 2025
- Issue 52072: Text choice field values to handle | character within values
- PropertyValidator.joinValidValues() and PropertyValidator.splitValidValues()
Released: 31 March 2025
- Issue 52616: LKSM: When two lineage alias columns are in a file we silently ignore one
- Add warning about duplicate columns in file preview panel
- Show duplicate columns in preview grid
Released: 28 March 2025
- Issue 52658:
- Use raw values for units and stored amounts in
BulkUpdateForm - Don't show text about "Edit with Grid" if that button won't be shown
- Use raw values for units and stored amounts in
Released: 20 March 2025
- Update
ISO_DATE_TIME_FORMAT_STRINGconstant to match server. - Export JSON date format utility functions from the package.
Released: 18 March 2025
- Issue 52535: Don't match lineage columns to raw column captions
Released: 7 March 2025
- Issue 52477: Sample workflow custom fields: edit field inline from Job Overview page doesn't save lookup fields with special characters
Released: 5 March 2025
- Issue 51091: Product menu endpoints return objects
- define
SuccessDataResponse<T>to ease adding typing for endpoint response payloads
Released: 25 February 2025
- Issue 52341: App chart render queryConfig to support parameterized queries
Released: 25 February 2025
- Issue 52304: Sample Manager: Edit Lineage in grid not saving updates if names contains comma
Released: 24 February 2025
- Issue 52337: ensure that items being excluded from view customization are fields, not ancestor nodes
Released: 21 February 2025
- Issue 51877: Allow calculated fields for list title column
Released: 19 February 2025
- Add new
InternalSpacesWarningcomponent to warn when values contain multiple spaces between words - Use component in
EntityDetailsForm,QueryFormInputs,AssayPropertiesInput, andTextInput - Do some more error message resolution
Released: 18 February 2025
- Issue 52167: Update isCalculatedFieldsEnabled() check for LKS distributions
Released: 18 February 2025
- Issue 52092: Introduce useContainerPath
Released: 17 February 2025
- Bump
@labkey/apiand@labkey/build. - Distribution now includes source maps.
Released: 14 February 2025
- Misc 25.3 fixes
- Issue 52228: App using an Identifying field that's required errors during sample import
- Issue 52230: App broken link under Calculated Columns data field hover tooltip
Released: 13 February 2025
- Remove usages of encodePart when dealing with data rows for update cases
- EditableGridLoaderFromSelection not to encodePart() in the data rows, leave keyed by column name as it comes from server
- BulkUpdateForm not to encodePart() when comparing with original data, use QueryInfo to lookup column instead
- Fix up sample aliquot-only vs sample-only fields to use fieldKey instead of name
- getSampleIdentifyingFieldGridData() to use column.index instead of column.name for the key
Released: 12 February 2025
- Issue 51973: LIMS: Only one person's updates to templates are saved if two admins are working concurrently
Released: 12 February 2025
- Merge from release25.2-SNAPSHOT to develop
- includes changes from 6.20.3 #1714
Released: 11 February 2025
- LKSM: Add numbered cells for terminal storage
- fix style for Storage properties panel radio button position
- add StoragePositionNumber field to SampleFinder filter cards
Released: 11 February 2025
- Issue 52193: Update
QueryColumn.isImportColumnto match on caption fully stripped of spaces
Released: 7 February 2025
- Only show 'Discussion Threads' Advanced Setting in Lists if relevant Deprecated Feature is turned on
Released: 6 February 2025
- Add displayName to various components
- LockIcon: remove unused prop, add displayName, format code
- Remove ValueList
- AutoLinkToStudyDropdown: improve formatting, use memo
Released: 6 February 2025
- AppContext cleanup of components that can now be directly imported from ui-premium (previously cross subpackage)
- includes AddSamplesToStorageModalComponent, JobsButtonComponent, ReferencingNotebooksComponent, SampleStorageLocationComponent, SampleStorageMenuComponent
Released: 5 February 2025
- Issue 52143: Grid paging parameter in URL is not always respected
- Fix how we parse the URL to calculate page offset
Released: 4 February 2025
- Issue 52151: resolve assay batches/runs from search results
- Resolve an icon for assay batch and assay run search results
Released: 11 February 2025
- Issue 52197: use current container when querying for groups with permissions for job and task assignments
Released: 31 January 2025
- Merge from release24.11-SNAPSHOT to develop
- includes changes from 5.20.7 #1705
Released: 30 January 2025
- Issue 52007: Filtering blank with more than 250 options won't show check mark
Released: 30 January 2025
- Fix Issue 51909: Hit Selection Dialog should show field-modal__field_dot next to fields that have criteria
- Fix Issue 51421: Inconsistent behavior when hitting
Shift+Home/Endin the editable grid - Fix Issue 51897: Grid loses paging control and shows "No data" when samples in a filtered view are updated
- We now render pagination buttons when the user is out of bounds, and the previous button goes to the last page
- EditInlineField: Add optional validation props for date fields
- Convert Pagination to FC
- Convert Pagination, PageMenu, PageinationInfo tests to RTL
Released: 29 January 2025
- Merge from release25.1-SNAPSHOT to develop
- includes changes from 6.10.3 #1700
Released: 29 January 2025
- Issue 39517: Assay importRun to include display value in the row data for sample lookup columns
Released: 29 January 2025
- QueryModel: rename getSelectedIdsAsInts to intSelections, convert to
getmethod - Fix types for "sampleIds" variable
- Despite being typed as string[] it is actually always number[]
- Rename getFieldLookupFromSelection to getLookupRowIdsFromSelection
Released: 28 January 2025
- Issue 52082: default
SearchPaneltoencodeQuotes: true
Released: 27 January 2025
- Ability to Edit Sample IDs in the Grid
- Add
canEditNametoOperationConfirmationData
- Add
Released: 26 January 2025
- Issue 52066: LKSM: Editing aliquots in UI is treated as parent samples if the default grid view as a saved filter on IsAliquot field
Released: 23 January 2025
- Add support for conditional formatting in LIMS and SDMS products
- Update
DefaultRenderer,UserDetialsRendererandAttachmentCardto use provided conditional formatting - Add utility method
getDataStylingfor use in other components
- Update
Released: 20 January 2025
- Update Assay Design Transform Script config to include 'Run on Import/Edit' boolean options
Released: 20 January 2025
- Export useLoadableState
- Add useModalState
Released: 17 January 2025
- Workflow, Group Assignment & Notifications
- Add
groupsto User model - Fix
SelectInput.initOptionswhen options have subgroups - Modify
FetchGroupsto check permissions - Modify
UserSelectInputto include groups
- Add
Released: 16 January 2025
- Remove getDisambiguatedSelectInputOptions
Released: 16 January 2025
- Add
OptionComponentprop toQuerySelectin replacement of theoptionRendererprop which furnishes more useful props to the option rendering component. - Update
requestoptions to excludescopeand extendAjax.RequestOptions. Package exportrequest. - Introduce
useTimeouthook that wraps timeout functionality for React components. - Add
abortOnDismountoptional parameter to theuseRequestHandlerhook so that requests can be aborted automatically when the hook is dismounted. - Remove unused utilities
intersectandtoLowerReducer.
Released: 15 January 2025
- Issue 51908: increase precision for stored amounts to nanoliters and nanograms
Released: 15 January 2025
- Merge from release25.1-SNAPSHOT to develop
- includes changes from 6.10.2 #1689
Released: 10 January 2025
- Issue 51824: TSV/CSV file import ignore lines that start with #
- Issue 51918: : Sample Manager: default import template downloaded from samples types listing grids doesn't include import alias column
Released: 9 January 2025
- Issue 51679: App grid header click to find parent TH element if hovering over child element
Released: 9 January 2025
- Support 'isActive' prop for NavItem and ITab
Released: 8 January 2025
- Merge from release25.1-SNAPSHOT to develop
- includes changes from 6.10.1 #1678
Released: 3 January 2025
- Issue 49044: Add mega-menu back to Admin pages
Released: 3 January 2025
- Issue 51879: App grid column header click area above column title should open the menu
Released: 28 January 2025
- Merge from release24.11-SNAPSHOT to release25.1-SNAPSHOT
- includes changes from 5.20.6
Released: 14 January 2025
- Merge from release24.11-SNAPSHOT to release25.1-SNAPSHOT
- includes changes from 5.20.5 #1686
Released: 3 January 2025
- Fix cross folder import templates
Released: 30 December 2024
- Customizable File Templates for Sources, Sample Types & Assay Designs
- Add
ProductFeature.CustomImportTemplates - Modify
FileInputto support file size validation - Update TemplateDownloadButton and TemplateDownloadRenderer to query for saved custom templates
- Add
Released: 30 December 2024
- Update AddEntityButton with new parameter
- Add
getMultipleDataTypeExcludedContainerstoFolderAPI. - Add optional
classNameprop toDeleteIcon - export ensureAllFieldsInAllRows for usage in saveRowsByContainer
Released: 27 December 2024
- Issue 51816: pasted values from spreadsheet retain new lines and look invalid
Released: 23 December 2024
- MultiValueRenderer update for string values wit \n characters, to use white-space CSS to preserve them
Released: 19 December 2024
- Add FilterCriteriaRenderer
- Add FilterCriteriaModal
- Add useLoadableState
- Helper hook that takes a loader method and returns loadingState, value, and error
- DomainField: Add filterCriteria
- Render Filter Criteria components in AssayDesignerPanels
- Add
requestmethodrequestis an async wrapper forAjax.requestwhich takes the same config asAjax.requestexceptsuccessandfailurecallbacks. Instead of usingsuccessandfailureyouawait request(config)andcatcherrors.
Released: 18 December 2024
- Parent type selector updates for adding and removing from EditableGrid
- AddEntityButton asButton property to allow for icon only version
- QueryColumn isParentInput() helper to check for either MaterialInput or DataInput
- EditableColumnMetadata onRemoveColumn optional prop to allow for callback for EditableGrid column removal menu item
- EditableGrid additionalButtons optional prop to allow custom items to be added to grid button bar
- DropdownAnchor
- renamed to DropdownMenu
- add asAnchor property to allow for version without
<a>tag and href
- merge forward v6.1.1 changes
Released: 17 December 2024
- Delete FileListing
- Delete FileListingForm
- FileAttachmentEntry: convert to FC, simplify props
- Update file related styles
- Change class names to match BEM style
- Remove duplicate CSS imports
- Remove snapshot tests
Released: 17 December 2024
- Update
DateInputto determine the default date/time from container configuration - Lineage: be defensive against seed not being set when focusing graph
- Refactor
ColorPickerInputto a functional component
Released: 16 December 2024
- Add restrictions on names of domains
- Update resolveErrorMessage util to handle more scenarios
Released: 12 December 2024
- Update
EntityIdCreationModelwithselectionContainerId - Fix
resolveSampleParentTypeswhenorderedRowIdsis undefined - Fix some error message verbiage
Released: 11 December 2024
- RadioGroupInput fix for formsy input usage
- need to call setValue on each change of radio selection
Released: 10 December 2024
- Chart builder support for axis layout options
- OverlayTrigger to only close on "click outside" for triggerType="click"
- RadioGroupInput to support click on input label to setValue
- Factor out ChartFieldOption.tsx from ChartBuilderModal.tsx
- ChartFieldOption.tsx support for axis layout options (scale and range) to be set in OverlayTrigger on click
- ChartBuilderModal to support axis layout options from saved config and to update when saving config
- TrendlineOption.tsx update to asymptote min/max inputs to match axis layout options (via OverlayTrigger)
Released: 9 December 2024
- Issue 51432: LKSM: special character not working well on various pages
- Warn user about missing quotes when pasting data into editable grid that contains a comma
- Replace
&with a similar unicode character for lineage graph labels display as vis-network doesn't work well with&
Released: 4 December 2024
- Remove assays.scss
- Styles moved to utils.scss or ui-premium
- Add utils.scss
- Move util styles from various scss files to utils.scss
- Rename getSelectedData to getSelectedDataDeprecated
- Add getSelectedRows
- This uses the components version of selectRows to fetch the selected data for a QueryModel
- "-spacing" classes renamed
- renamed to "-margin" or "-padding"
Released: 4 December 2024
- Reinstate prior removed fn
Released: 4 December 2024
- Chart builder support for Trendline option in line chart
- add Trendline option to ChartBuilderModal and support trendlineType in chartConfig
- trendline asymptote min and max inputs for specific curve fit types
- available trendline options (i.e. linear vs non-linear) based on schema prefix
Released: 3 December 2024
- Issue 51105: Workflow job links to navigate user to app project home or subfolder accordingly
- export createProductUrlFromPartsWithContainer for use in WORKFLOW_MAPPER
Released: 3 December 2024
- Issue 51707: Change "Registry Source Type" to "Source Type" and "Registry" to "Registry Sources"
- Issue 51775: Don't produce link for non-standard assay import if not supported
Released: 17 December 2024
- Issue 51864: Unexpected error when trying to add samples to an assay
Released: 29 November 2024
- Issue 49016: App admin Groups and Users pages to show in subfolders when applicable
Released: 29 November 2024
- Issue 51680: Use proper container path for importing assay data for jobs
Released: 27 November 2024
- Incorporate Recent Storage Dashboard Widget
- Modify
HorizontalBarSectionto supportshowSummaryTooltip - Add
createHorizontalBarCountLegendDatautil - Modify
ItemLegendto render data withDefaultRenderer
- Modify
Released: 26 November 2024
- Move
BarChartViewerand relatives toui-premiumpackage - Update
ResponsiveMenuButtonto havechildrenproperty instead ofitems - Add constants and properties to allow use of a single
SampleGridButtonscomponent inui-premium SampleCreationType->EntityCreationType- Export
parseScientificIntutility
Released: 26 November 2024
- Support Plate Set ELN References
Released: 19 November 2024
- Issue 51645: Escape advanced search characters
- Migrate
sanitizeSearchQuery()implementation to this package and rename toescapeSearchQuery(). - Add
escapeQuery = falseandescapeQuotes = falseas optional properties on the search API wrapper.
Released: 18 November 2024
- Include identifying fields in editable entity grids - sample create/derive/aliquot
- Modify editable grid addRows, addRowsPerPivotValue and addBulkRowsToEditorModel to take custom insertColumns
- Support removeColumns for editable grid
- Add previousEditorModel to EditableGridChange param
- Add readOnlyGridFields to bulkAddProps
Released: 15 November 2024
- withAssayModels: filter by "assayName" prop when provided
Released: 14 November 2024
- Editable Grid: apply lookupValueFilters when pasting
Released: 13 November 2024
- Merge from release24.11-SNAPSHOT to develop
- includes changes from 5.20.3 #1635
- includes changes from 5.20.4 #1637
Released: 12 November 2024
- DataClassDataType: Update noun to match apps
Released: 11 November 2024
- Revert recent change to genCellKey and move the sample field key prefix to the usage in updateCellValuesForSampleIds()
Released: 7 November 2024
- Issue 51574: Limit selection for View Assay Results
- Issue 51482: Add metric to track Help link clicks
- Issue 51575: Limit number of samples to print labels for to 1000
Released: 6 November 2024
- QueryInfo.hasIdentifyingFieldsView() to check for identifying fields view existence and if it has more than just the default "Name" column
Released: 6 November 2024
- Issue 51495: LKSM: Grid Showing Incorrect Number Selected
- Fixed buildQueryParams util to allow >1 filter values per filter parameter
Released: 6 November 2024
- Merge from release24.11-SNAPSHOT to develop
- includes changes from 5.20.2 #1629
Released: 5 November 2024
- Remove combineParentTypes
Released: 5 November 2024
- Package updates
Released: 4 November 2024
- Add identifying fields to grids when editing via grid for Samples and Sources
- include identifying fields in getSelectionLineageData()
- EditorModel.getUpdatedData() to skip non-userEditable fields when comparing values
- getIdentifyingFieldsEditableGridColumns() to take param for hasProductFolders to determine if Folder should be excluded
Released: 31 January 2025
- Issue 52132: EditorModel.getUpdatedData fix to account for lookup columns with column.name key
- For editable grid with sample type identifying fields showing as read-only
Released: 27 January 2025
- Issue 52038: Fix problems fields whose names and fieldKeys are different
- Editable grid needs to find columns using names not field key
- detail editing needs to use name instead of fieldKey for changed values
- Fixes for identifying field retrieval and population in the grid
- Update CheckboxInput.tsx and DatePickerInput.tsx to use column.fieldKey for input name prop (to match other input types)
Released: 13 January 2025
- Issue 51967: Submit formatted date value from editable grid
Released: 9 November 2024
- Use userId instead of email for password related APIs
Released: 7 November 2024
- Replace some curly quotes with normal quotes
Released: 4 November 2024
- Issue 51563: LKSM: Add additional date and date/time formats
Released: 31 October 2024
- Issue 51491: DateTime field should tolerate Date and DateTime pseudo format patterns
Released: 31 October 2024
- Bump build
- Convert LoadingSpinner to FC
Released: 31 October 2024
- Issue 51557: fix counts for folder deletion summary
- Support optional
containerPathonapi.security.getDeletionSummaries()endpoint wrapper
Released: 31 October 2024
- Add identifying fields to grids when insert assay data via EditableGrid
- migrate some sample identifying fields utils from
@labkey/premium - factor out updateCellKeySampleIdMap() as utility function
- add QueryColumn.isSingleSampleTypeLookup()
- EditorModel.getValuesForColumn() to get cellValues for a single column
- update sample identifying fields utils/actions to take in optional sampleFieldKey prefix
- EditorModel.getUpdatedData() to skip readOnly fields when comparing values
- migrate some sample identifying fields utils from
Released: 29 October 2024
- Folders: Archive V1 (Hide from view/show hidden)
- Add isArchived to Container class
- Add App.getArchivedFolders util
- Add folder.archiveFolder.api to support archive and restore a folder
- Added FolderColumnRenderer to show archived tag for Folder fields
- Modified ProductMenu to add archived indicator
- Modified FolderMenu to section active vs archived folders
- Modified SearchResultCard and FilterFacetedSelector to show archived tag for folders
- Modified DataTypeFolderPanel to section active vs archived folders and uncheck archived folders by default
- Modified move and create data UIs to exclude archived folder from target options
Released: 29 October 2024
- Export isCtrlOrMetaKey
Released: 29 October 2024
- Bump
@labkey/buildpackage dependency
Released: 28 October 2024
- Bump
@labkey/apipackage dependency
Released: 28 October 2024
- Update to
vis-network@9.1.9 - Add necessary peer dependency
vis-data@7.1.9to our dependencies - Simplify typings and adjust API usages to match latest version
Released: 26 October 2024
- Remove reference to the experimental flag for plates.
Released: 25 October 2024
- Add
SchemaQueryproperties onAssayDefinitionModel. - Refactor
AssayDefinitionModelto useExtendedMap.
Released: 23 October 2024
- Issue 39332: Make sure export started messages shows before export starts in TabbedGridPanel exportTabs case
Released: 23 October 2024
- Fix Issue 51359
- Paste starting from first cell in selection
Released: 22 October 2024
- Date/Time formatting simplifications - Settings UI Changes
- Add utils for handling standard date/time formats
- Move getFolderDateTimeHelpBody from ContainerLookAndFeelForm to shared util
- Check blank initial value for SelectInput
- Modified DateTimeFieldOptions to use standard formats and new UI
Released: 21 October 2024
- Migrate out all components related to
AssayImportPanels(i.e. assay run import page) and corresponding functionality. - Add
checkForDuplicateAssayFiles()to assay API wrapper. - Add
getSelection()to query API wrapper.
Released: 21 October 2024
- EditableGridPanel: Remove support for tabs
- SampleTypeAppContext: change parentDataTypes to an array
- SamplesTabbedGridPanelComponentProps: remove withTitle, title props
- Remove getUpdatedDataFromEditableGrid
- Remove applyEditorModelChanges
- EditorModel:
- add getUpdatedData
- add applyChanges
- Remove initEditorModels
- Remove queryModel arg from initEditorModel
- Remove queryModel arg from EditableGridLoader.fetch
- Export EditableGrid
- Remove EditableGridPanel
- Remove EditableGridPanelForUpdate
- Don't export updateSampleStorageData
Released: 21 October 2024
- Issue 51422: When not using filters,
clearSelectionscan be more efficient
Released: 17 October 2024
- Remove properties from
EditableGridthat support bulk updates when adding to storage
Released: 17 October 2024
- Fix verb usage in
resolveErrorMessage, deriving the present participle of the verb when not provided
Released: 16 October 2024
- Calculated fields error handling
- calculated field expression input width change, show examples inline next to textarea, add "click to validate"
- parseCalculatedColumn to first try making an executeSQL call with fake data to catch SQL errors
- parseCalculatedColumn to include PHI check in validation (Issue 51235)
- withQueryModel to retry failed query without calculated fields, set viewError on QueryModel for grid display
- remove experimental feature flag for calculated fields
Released: 14 October 2024
- Issue 51056 Samples with single double quotes in the name will not resolve if added as parent samples.
- Issue 51433 Unhandled client side exception when using a parent field in editable grid after clearing the field.
Released: 14 October 2024
- Issue 51425: reprocess lineage node "level" on subsequent traversals
- Lineage styling:
- Set
scaleFactor=0.6(default is 1) for arrows so they render a bit smaller. - Set
levelSeparation=125(default is 150) to reduce the space between levels in the graph. - Set
edgeMinimization=false(default is true) so that all edges are represented in the graph.
- Set
Released: 7 October 2024
- Issue 47087: Find Derivatives in Sample Finder to include a selection in filters
Released: 7 October 2024
- withAssayModels fix to allow passthrough of ComponentsAPIWrapper
Released: 7 October 2024
- Issue 50569: Add description for API keys
Released: 7 October 2024
- Issue 51291: Assure product menu closes after click on "empty" link
Released: 4 October 2024
- Chart builder in app (part 3)
- updates to chart margins and sizes for chart builder and dashboard
- only show 'x' grid lines for bar and box plots
- Issue 48860: Show "inheritable" checkbox in chart builder for users with proper perm (and if in app home)
- use getContainerFilterForFolder() for chart getQuery request (related to issue 48860)
- remove Chart Builder experimental feature flag
Released: 1 October 2024
- Editable Grid: improve validation messages
Released: 1 October 2024
- Issue 51254: Limit number of values for multi-valued filter types
Released: 30 September 2024
- Issue 51173: LKSM/LKB: Improve naming pattern warning when it contains a field name
Released: 30 September 2024
- Issue 51253: Require saving before testing of BarTender connection
Released: 30 September 2024
- Lineage Relationships: Optionally Require during Sample Registration
- add 'required' prop to various alias and parent input related models
- add api.domain.getRequiredParentTypes and api.entity.getDataTypesWithRequiredLineage
- updated DomainParentAliases and ParentAliasRow to use new UI and allow setting required parent
- updated ImportAliasRenderer to incorporate required info
- updated SampleTypeDesigner and DataClassDesigner to show new Lineage section for alias
- remove folder level data exclusion for alias data type selection since designers are edited at Home folder
Released: 27 September 2024
- Change "Project" to "Folder" throughout the application
- Remove warning banner about shared domains except for domains coming from /Shared
Released: 27 September 2024
- Issue 51227: Add metric for number of rows used in editable grid
Released: 25 September 2024
- Wire up onBlur for LookupCell
- Export Help component
- Export CellMessages type
Released: 25 September 2024
- Issue 51337: LKSM: Can't edit samples where source ID has a comma
- Check quoted parent value with comma before calling JSON.parse, which would remove the quotes
Released: 24 September 2024
- Update
fileMatchesAcceptedFormatutility to check file extension casing in a case-insensitive manner. Refactor away from usingImmutable.- Fixes Issue 51331
- Update
FileAttachmentContainerto use nativeSetrather thanImmutable.Set.
Released: 24 September 2024
- EditableGrid: Fix issue with pasteEvent not working if user pasted more rows than the grid has
- Fixes issue 51327
Released: 24 September 2024
- Fix Issue 51265
- We now more consistently trim values and use getValidatedEditableGridValue
- Stop using overflow: scroll
Released: 20 September 2024
- Issue 50389: Casing of aliased (parent) sample or source type name can be changed in the editable grid
Released: 18 September 2024
- Issue 50998: Add container filter when getting samples from a particular transaction id
Released: 17 September 2024
- Issue 50818: add RESOLVE_LSID_MAPPERS to resolve data/material by lsid
Released: 17 September 2024
- Add
SchemaQueryconstant forplate.ReformatTargetPlateSetsquery.
Released: 17 September 2024
- Add back calculated fields experimental feature flag
Released: 16 September 2024
- Calculated fields issue fixes for 24.10
- DomainForm to handle batching updates for state related to calculated field validation
- Update error messaging for bad SQL related exceptions (Issues 51232 and 51204)
- Study dataset designer to include systemFields based on timepoint type (Issue 51249)
Released: 12 September 2024
- Issue 50628: Bump @labkey/api. See LabKey/labkey-api-js#182
Released: 12 September 2024
- Follow-up release fix for v5.4.0.
Released: 12 September 2024
- Issue 50331: Cross-folder import of assay data from subfolder plate set should import data into subfolder
Released: 11 September 2024
- Merge from release24.9-SNAPSHOT to develop
- includes changes from 4.15.1 #1571
Released: 10 September 2024
- Update
react-datepickerdependency to align with ourdate-fns@3.xdependency. - Remove
@types/react-datepickerdependency asreact-datepickernow supplies its own typings.
Released: 9 September 2024
- Add
@hello-pangea/dndas a dependency - Remove
react-beautiful-dndas a dependency
Released: 9 September 2024
- Issue 51085: Grid button spacing issue for hover border
Released: 6 September 2024
- Issue 51158: Update the text for discarding samples from storage to use "removed" instead
Released: 5 September 2024
- withQueryModels: Add reloadModel flag to setOffset
- BREAKING CHANGE: React dependency upgraded to React 18
- Use PropsWithChildren for all components using children
- Fix issues with document click handlers for menus
- Don't use defaultProps with function components
Released: 3 September 2024
- Calculated fields remove experimental feature flag
- DomainRow for calculated fields to set isDragDisabled true
- Add tooltip for DragDropHandle for calculated fields
Released: 9 September 2024
- Issue 50700: EditableGrid to account for hidden/readonly rows during cell actions
Released: 2 September 2024
- Issue 39332: Provide status when exporting data from a grid in the app
- QueryModel action for addMessage with optional duration (for removing message after N ms)
- Add message to grid after clicking export menu option
Released: 30 August 2024
- Consolidate handling of date/time changes in
DatePickerInput. - Coerce local timezone for ISO_DATE_FORMAT matching strings in
parseDate.
Released: 30 August 2024
- Update
QuerySelectto support parameterized queries
Released: 30 August 2024
- ELN and storage view tooltip update
- Support isFlexPlacement Popover placement based on available screen space
- check isBiologicsEnabled for isMediaEnabled
- support noLink prop for DefaultRenderer
Released: 30 August 2024
- Misc 24.9 issue fixes
- Issue 51123: Assay run import sample lookup fails when coming from a workflow job task
- Issue 51025: Don't allow saving of data in editable grid if there are known errors
Released: 29 August 2024
- Add
date-fnsanddate-fns-tzdependencies - Remove
momentandmoment-timezonedependencies - Refactor usages of time differences and time math to use date-fns
- Export new
fromDateandfromNowdate utility methods - Remove internal implementation of
jDateFormatParser
Released: 27 August 2024
- Use new
~~identifyingfield~~view when available forQuerySelect'sPreviewOption
Released: 27 August 2024
- Consolidate EditableGrid read-only cell methods
- remove EditorColumnMetadata.readOnly prop and replace with isReadOnlyCell prop
- remove unused readOnlyColumns prop from BulkUpdateForm
- update QueryInfo getInsertColumns() and getUpdateColumns() to rename param as requiredColumns
- Remove unused useWindowFocusCheckExpiredSession
Released: 22 August 2024
- fix
QueryModel.selectedStateso it works on a partially filled last page
Released: 22 August 2024
- Issue 50822: Query to get study properties instead of relying on study moduleContext
Released: 20 August 2024
- Calculated fields validation of value expression
- update tooltip text and examples for Expression textarea label
- validate expression on component mount and on text area blur
- display validation message or error in textarea footer and set domain row warning state
- SampleTypeDesigner uniqueId field addition warning modal button change
Released: 20 August 2024
- Add view customizer for identifying fields for samples and sources
- Update
ColumnSelectionModalwith optionaldisabledMsgproperty to be shown in popover - Export
includedColumnsForCustomizationFilterfor use in ui-premium component - Add new reserved view name
- Update
Released: 19 August 2024
- Do not export loadEditorModelData
- Remove initEditableGridModel, initEditableGridModels, applyEditableGridChangesToModels, EditableGridModels
- Use initEditorModel, initEditorModels, applyEditorModelChanges instead
- EditableGrid: remove unused and unnecessary props
- allowFieldDisable
- allowRemove
- bordered
- condensed
- lockedRows
- notDeletable
- onSelectionChange
- removeColumnTitle
- showBulkTabOnLoad
- striped
- tabAdditionalBtn
- tabBtnProps
- EditableGrid: remove dependence on QueryModel
- Including utils and action methods used by EditableGrid and those for manipulating EditorModel
- ExportMenu: Remove extraExportMenuOptions
- This feature is no longer used
Released: 16 August 2024
- Fix DomainField.fromJS accessing undefined object issue
Released: 14 August 2024
- Issue 50924: Sample timeline event details throws error if the parent sample name starts with double quote
Released: 13 August 2024
- Issue 50657: Use default view when printing labels from a sample's details page
Released: 12 August 2024
- Issue 49966: Add new
StorageUnitLabelcolumn as a known column to allow attaching a label to a box created during import
Released: 8 August 2024
- Issue 50833: Renaming a project doesn't get fully reloaded until page refresh
- ProjectSettings to use getIsDirty and setIsDirty from parent component and to pass renamedProject to onSuccess
- Move several admin setting project related components to @labkey/premium
Released: 7 August 2024
- Merge from release24.8-SNAPSHOT to develop
- includes changes from 4.4.3 #1545
Released: 6 August 2024
- Remove
formsy-reactdependency. - Inline
formsy-reactimplementation. This is a port of v2.3.2.
Released: 6 August 2024
- Mark new
Visit Labelfield as a study field
Released: 31 July 2024
- Fix
isTransformScriptsEnabledcheck
Released: 30 July 2024
- BarTender: supply file export needed for BarTender integration
- Update label and icon for bartender label printing option
- Support new "Download template" option for bartender with FieldKey instead of column title
Released: 30 July 2024
- Add LIMS product and product feature checks for transform scripts and charts
- Add utility methods for checking other features (nonstandard assays, study linking, registry, general LKS support)
- Refactors for sharing renderer definitions
- add utility method for registering pipeline listeners
Released: 30 July 2024
- Issue 50224: link-to-study does not accept visit labels instead of sequencenums
Released: 25 July 2024
- Issue 50449: App grid filter to expand icon click area to remove filter value
- Issue 50537: LineageDetail to only show the "Properties" column in the detail view for the exp schema
- Issue 49754: App charts to expand width and scroll horizontally to match LKS
- Issue 49753: App charts to use formattedValue in response row objects for bar/box plot tick labels
Released: 24 July 2024
- Package updates
Released: 24 July 2024
- Calculated Columns support in the Field Editor
- add valueExpression to DomainField model
- add calculatedFields to the DomainDesign
- add CalculatedFieldOptions to DomainRow and Calculation to PropDescType
- hide some AdvancedSettings for calculated fields
- use rangeURI for calculated fields to determine type specific expanded row options to show
- add ProductFeature.CalculatedFields and isCalculatedFieldsEnabled() helper
- add experimental feature flag for calculated fields in the Field Editor
Released: 23 July 2024
- Add
footerContentprop onModalwhich is passed through as thechildrenofModalButtons. Useful for rendering content to the left of the modal confirmation buttons.
Released: 20 July 2024
- Issue 50742: Reset/Update genId result in error if samples exists only in child folders
- Issue 50709: LKSM: Pasting in editable grid when an aliquot field is between two sample fields doesn't work
- Issue 50650: LKSM: SampleFinder doesn't show ancestor column data if default view also contains the same ancestors
- Issue 42183: SM: Need better indication that comment in a workflow task has not been saved.
- Issue 50607: Updated field labels are not shown in the grid
Released: 17 July 2024
- EditableGrid: bulk data resolve public lookups
Released: 12 July 2024
- Issue 50661: Update
FilterFacetedSelectorto cancel requests as needed while typing- move
useRequestHandlerhook from ui-premium to here
- move
- Issue 50447-adjacent: Impose limit on number of items to add to picklist for different button/menu item rendering
Released: 12 July 2024
- getSelectedData: use async implementation, accept columns as
string[] - EditableGrid: action
getLookupDisplayValue()should support resolving string values - BulkUpdateForm: remove
requiredDisplayColumnsprop
Released: 12 July 2024
- Editable Grid Improvements: Validation of fields
- Update invalid cell style
- Add util to validate cell values based on column type and properties
- Wire up cell validation on cell modify/blur/paste/fill
- Handle missing required cell value check on Submit
Released: 12 July 2024
- SelectRows: support optionally requesting metadata
Released: 10 July 2024
- Remove usages of react-bootstrap
- Remove FieldEditForm
- Popover/Tooltip: support fixed positioning
- Remove react-boostrap and @types/react-boostrap dependencies
Released: 8 July 2024
- Issue 50640: Update
MenuSectionModelURL construction to link torunspage for assay names - Issue 50753: Fix link resolution for sample type names that are numbers
Released: 3 July 2024
- Add styling for button.clickable-text
Released: 28 June 2024
- Update MenuSectionItem to accept ReactNode for label attribute
Released: 28 June 2024
- Remove reference to
MaterialLookupColumnRenderer
Released: 27 June 2024
- Use
LabelOverlayin headers for grids- Update display of Description in
LabelOverlayto preserve white space - Update
EditableGrid.renderColumnHeaderto useLabelOverlayif custom tool top is not configured - Add
DomainFieldMetadatacomponent to be used as newHelpTipRendererwhen appropriate
- Update display of Description in
Released: 26 June 2024
- Add support in BulkUpdateForm for staging changes to EditorModel without transacting changes
Released: 26 June 2024
- Issue 49025: Assay run import fails if time format is kk:mm
- Issue 50715: Barcode field set as required prevents sample creation because of validateData() check
- Issue 50605: Field editor drag-n-drop to reorder prevents dragging of a field after it is moved the first time
Released: 25 June 2024
- Grid: improve styling for sticky headers
- No longer compute height via JS
- Use max-height, set via CSS
Released: 24 June 2024
- Issue 48439: EditableGrid drops invalid date values when calling insertRows/saveRows
- add getValidatedEditableGridValue() to centralize handling of grid data parsing for insert and update case
- return original date string value when unable to parseDate()
- Remove some deprecated code after issue 50589 changes (remove export editable grid option)
Released: 20 June 2024
- Issue 50483: Creating a required sample-only field after an aliquot field errors on add
- Issue 50023: Import button on Assay Run page is not enable after creating a new aliquot and adding them to a run result.
- Issue 50608: View Assay Results from Storage Grid View errors
- Issue 50684: LKSM: Update descriptions for Source & Sample Type designer
Released: 18 June 2024
- Separate storage styling from editable grid
Released: 18 June 2024
- Issue 50533: Support passing through a
timezoneprop onEditInlineField
Released: 18 June 2024
- Add support for Ancestor nodes on All Samples grids
- Update
CustomizeGridViewModalto not allow multiple levels of ancestors to be added
- Update
Released: 14 June 2024
- Feature Request 50121: Support multi-line cells in editable grid
Released: 13 June 2024
- Convert usages of OverlayTrigger off of react-bootstrap
Released: 12 June 2024
- Issue 50589: Remove option to export editable grid data
Released: 10 June 2024
- Sample Type & Source Type Designer Roles
- Add entityApi.isDataTypeEmpty to check if a design has data
- Allow hiding of Projects section in designer
Released: 10 June 2024
- Assay import support for results domain file fields
- FileAttachmentForm to send back updatedFiles map onFileRemoval
- FileAttachmentContainer to support includeDirectoryFiles to recursively include files in a dropped directory
- FileAttachmentContainer to support error check for total file size
- RunDataPanel update to show FileAttachmentForm for results domain file fields
- AssayWizardModel.prepareFormData to include resultsFiles for import run API post and update progress bar estimate and message
- uploadAssayRunFiles fix for maxFileSize to not include batchFiles or runFiles as they are unrelated
- only shown in assay import UI for LKB at this time
Released: 10 June 2024
- Issue 49882: App editable grid support for locking column header and left columns on scroll
Released: 6 June 2024
- getSelectionLineageData: make selection
Set<string>instead ofList<any>- It's always sourced from QueryModel.selections
- SamplesEditableGridProps: remove displayQueryModel
Released: 4 June 2024
- Issue 41718: Domain Designer Field Imports should observe auto-increment fields
- Fix displayed Data Type of auto int field on existing List
Released: 4 June 2024
- Fix Issue 48377: LKSM/LKB: Editable grid allows pasting into cells that are marked as read-only
- Fix Issue 48242: LKSM/LKB: Editable Grid - Right clicking a multi-cell selection doesn't work as expected
- EditableGrid: Fix issue where cut (cmd/ctrl + x) would delete read only cell values
- EditableGrid: Add hideReadonlyRows prop
- QueryFormInputs: Remove unused prop componentKey
Released: 30 May 2024
- Expose
registerInputRendereras a way for external package usages of@labkey/componentsto register custom form/grid input renderers. - Introduce
QuerySelect.groupByColumnwhich allows for results within query select to be grouped by another column. This in turn is backed bySelectInput.formatGroupLabelwhen rendering options. - Add a new
includeEmptyParamsparameter toAppURL.addParams(). By defaultaddParams()will now not include parameters where the parameter value isundefinedornull. - Issue 49953: fix shift-select on edge cells
Released: 29 May 2024
- Issues 50507 and 50453: Fields named 'Color' should not interfere with status colors
- Issue 50498: Use proper container for status deletion
Released: 28 May 2024
- Issue 50354: LKSM: Include indicator of unavailable file in apps
Released: 21 May 2024
- Fix Issue 50455
Released: 21 May 2024
- Issue 50347 LKSM: Data Field Name in Naming Pattern Causing Error
Released: 21 May 2024
- Merge from release24.3-SNAPSHOT to develop
- includes changes from 3.24.12 #1496
Released: 16 May 2024
- Add
CheckboxLK- This is a replacement for react-boostrap's Checkbox
- It will be renamed to
Checkboxwhen we stop using the react-bootstrap version
- Reduce usages of various react-bootstrap components (e.g. FormGroup, FormControl)
- OverlayTrigger: Don't require an
id - Add
withServerContext
Released: 16 May 2024
- Introduce
EditorModel.convertQueryModelDataToGridResponse()to streamline initializing data from aQueryModelfor anEditorModel.
Released: 16 May 2024
- Issue 50363: Cross Folder lookup editable grid copy/paste and fill down don't account for containerPath / containerFilter
- findLookupValues() to use getContainerFilterForLookups() and accept containerPath optional param
- fillColumnCells() and insertPastedData() to use containerPath for the given row when validating cell lookup values forUpdate true case
- fillColumnCells() and insertPastedData() to use targetContainerPath forUpdate false case
- EditableGrid "Bulk Insert" and "Bulk Update" to use target containerPath prop for lookup field options and validation
Released: 10 May 2024
- Issue 50360: Cross folder bulk edit doesn't work for grid custom view
Released: 10 May 2024
- Chart builder in app (part 2)
- Allow exports of charts within the apps to PDF/PNG via export dropdown menu
- Allow bar-chart y-axis aggregation method (sum, min, max, mean, median) selection
- Change chart builder modal preview limit from 100k rows to 10k rows
Released: 9 May 2024
- ELN: Customize signing checkbox and export to PDF
- Add LabelsAPIWrapper for getting and updating custom labels
Released: 8 May 2024
- Add back class for
DisableableMenuItemand do some RTL test conversion
Released: 8 May 2024
- Merge from release24.5-SNAPSHOT to develop
- includes changes from 3.41.1 #1484 #1485
Released: 6 May 2024
- Issue 50319: Sample status tag display issues on lineage sample detail panel
Released: 6 May 2024
- Issue 50084: Add onError handler for FileAttachmentForm to allow appropriate behavior by wrapping components when errors are detected
Released: 3 May 2024
- Issue 48675: Improve UI text for 'ID/Name Settings'
Released: 30 April 2024
- Support prop
ExtraExportMenuOptionson ExportMenu component
Released: 30 April 2024
- Remove "Cross project file import" experimental feature flag
Released: 29 April 2024
- Issue 50236: Sample Manager: customize grid to add "Inputs/All" fields results in error page
Released: 29 April 2024
- No longer include
tiffiles in theisImagecheck- Most browsers cannot render
tiffiles - Fixes Issue 49852
- Most browsers cannot render
Released: 29 April 2024
- Support cross-folder "Edit in Bulk"
- Update getOperationNotPermittedMessage to work for both Edit in Grid and Edit in Bulk scenarios
- BulkUpdateForm getUpdatedData() to include Folder in updated rows, if it exists in originalData
- Add getSelectedIds(filterIds) to QueryModel
- saveRowsByContainer prop for containerField to be optional since it has a default
- AppendUnitsInput fixes for grid cell rendering and enable/disable in bulk form
- Edit in Grid and Bulk lookup fields to use containerPath based on selected row(s) (for BulkUpdateForm, disable lookup fields and file files toggle when more than one containerPath in selection)
- Add getOperationConfirmationData and getParentTypeDataForLineage to ApiWrapper
Released: 25 April 2024
- Add support for exporting a storage map from terminal storage grids
Released: 23 April 2024
- Include sample property fields for Sample Finder properties card
Released: 19 April 2024
- Fix
ProductMenulayout for static menu sections
Released: 19 April 2024
- Issue 49792: Details tooltip sometimes cut off
- Issue 50054: Stacked bar chart hover on total count displays incorrect info
- DomainForm fix to use the propertyId in the DomainRow key for saved fields (helps with issues 49481 and 50076)
- BaseModal to set document.body no-scroll on show
Released: 19 April 2024
- Add clearSelected and replaceSelected to query API wrapper
- Add allowSelection and onSelectionChange props to
Released: 18 April 2024
- Update CSS for notebook review status pills
Released: 17 April 2024
- Support cross-folder "Edit in Grid"
- rename getOperationNotPermittedMessage() to getOperationNotAllowedMessage()
- EditableGridLoaderFromSelection to account for idsNotPermitted when using selections for getSelectedData()
- Show Project column in EditableGrid for "Edit in Grid"
- Add saveRowsByContainer util to QueryAPIWrapper
- EditableGrid column actions for add,remove,update should use editorModel.columns to determine column indices
- EditableGridPanelForUpdate props for readOnlyColumns and updateColumns, include originalRows as param to updateRows, show warning about notPermitted rows
- add getOperationConfirmationDataForModel helper
- fix in getUpdatedDataFromGrid for multi-value columns
- EditableGrid replace react-bootstrap OverlayTrigger/Popover with LabelHelpTip
- Issue 50140: App data class designer cursor jumps in parent alias field
Released: 17 April 2024
- Issue 50031: Update permission check and container path for saving updates to storage labels
Released: 12 April 2024
- Issue 50069: Editing amounts of sample results in weird value
- Issue 50010 Time picker enters the wrong time if a time field has a format set or if there is an additional parsing.
- Issue 50102: When bulk updating a time-only field and entering a value with PM results in the AM time being selected.
- Issue 48328: Starting to make Biologics use the same Sample Manager help links.
Released: 11 April 2024
- Update product menu DOM structure to better support flex layout container/item paradigm.
- Use flex layout both horizontally (row-wise) across the product and vertically (column-wise) within each section column.
- Scroll within dynamic menu sections leaving the section headers position constant.
- Apply a "no-scroll" CSS class to the document body when product navigation is open. This prevents page scrolling.
Released: 10 April 2024
- Add ability for users to choose colors associated with sample statuses
- Update
ColorPickerInputto accept optional list of default colors - Update
ColorPickerInputto not close automatically when a color is chosen - Update
ManageSampleStatusesPanelto include aColorPickerInput - Update
SampleStatemodel with color field
- Update
Released: 9 April 2024
- Add setSelected() to QueryAPIWrapper
Released: 9 April 2024
- Improve-cross project actions - Derivations, Aliquots, and Pooling
- modify getAppHomeFolderPath to not require container, export getAppHomeFolderId
- modify getSelectedParents to respect container insert permission
- distinguish SampleCreationType.Independent from SampleCreationType.FromSources
Released: 4 April 2024
- ChartBuilder fix for tests (createNotification not defined) and JS error (onHide to handle evt parameter
Released: 3 April 2024
- Merge from release24.4-SNAPSHOT to develop
- includes changes from 3.36.1 #1463
Released: 2 April 2024
- Introduce
autoInitprop onQuerySelectthat allows for users to skip initialization. - Default
autoInittoprocess.env.NODE_ENV !== 'test'.
Released: 1 April 2024
- Issue 49956: Update styling of
PreviewOptionto not truncate text
Released: 1 April 2024
- Issue 49394: Fix storage permission check for folders further down the hierarchy
- Issue 49908: use project folder for checking storage designer permissions
Released: 1 April 2024
- Reload EntityInsertPanel LookupCell on targetContainer change
Released: 2 April 2024
- Cache assay protocol requests on the client. Uncache when assay definitions are uncached.
- Hack usage of
menuShouldScrollIntoViewinSelectInputto recalculate menu positioning after initial load.
Released: 30 March 2024
- Introduce
pivotColumnquery metadata section for applying metadata to pivot-generated query columns - Add hit selection summary queries to schema constants
Released: 29 March 2024
- Chart builder in app: App initial create chart modal
- add experimental flag and update Chart menu for when to show Create Chart item
- ChartBuilderMenuItem with modal for defining a new chart, selecting type, measures, and chart preview
- save chart from chart builder modal and reload model charts after save
Released: 27 March 2024
- Sample Finder: Show all fields in Properties modals
- add QueryAPIWrapper.getDefaultVisibleColumns util
- fix multi value indicator for inexpdescendantsof operators
Released: 26 March 2024
- Package updates
Released: 26 March 2024
- AssayImportPanels: Pass Plate Set ID to onComplete
Released: 26 March 2024
- Add EditorModel.getColumns() function
Released: 22 March 2024
- EditableGrid updates for add/move to multiple targets updates
- support full editable grid bulk update without checkbox selection
- add saveBtnClickedCount prop to allow buttons defined outside the grid notify grid of appropriate actions
- add gridTabHeaderComponent and bulkTabHeaderComponent to allow additional header items, such as BoxFillOptions
Released: 21 March 2024
- Update
OperationConfirmationDatamodel andgetOperationConfirmationDatato account for permission checks as well
Released: 21 March 2024
- Issue 49870: Add password strength gauge to Change Password modal
Released: 19 March 2024
- Don't use Row, Col, or Panel from react-bootstrap
- There are two minor exceptions for Panel usages in the domain editor, these will be resolved in a later PR
Released: 19 March 2024
- Updates to allow moving from multiple folders into one
Released: 13 March 2024
- Consolidate logic for generating filters for editable grid cell lookups into
getLookupFilters()utility - Refactor
LookupCellto a functional component - Export
QueryLookupFilterGroupandQueryLookupFilterGroupFiltertypes
Released: 12 March 2024
- Issue 48535: Filter columns shown when expanding lookup columns for customization
- Issue 49868: Impose limit of 1000 on number of ids to find with Find Samples feature
Released: 12 March 2024
- Merge from release24.3-SNAPSHOT to develop
- includes changes from 3.24.7 #1435
- includes changes from 3.15.8 #1437
- includes changes from 3.15.9 #1439
- includes changes from 3.24.10 #1443
- includes changes from 3.24.11 #1444
Released: 11 March 2024
- Add support for comments during edit actions
- Remove title from timeline comment tooltip
- Update
CommentTextAreawith additional props and callback interface - Update
EditableDetailPanelandDiscardConsumedSamplesPanelto move commenting into the sticky button footer - Update
ModalandModalButtonscomponents to support including theCommentTextArea
Released: 7 March 2024
- Support column sizing for editable grid
Released: 6 March 2024
- Add Tabs and Tab components
- Replace usages of react-bootstrap Tabs/Tab
Released: 5 March 2024
- Merge release24.3-SNAPSHOT to develop:
- includes changes from 3.24.7
Released: 5 March 2024
- Issue 49801: Lineage: Display hierarchy of nodes by "level"
Released: 4 March 2024
- Issue 45315: Allow inferDomainFromFile to take file path string in addition to File prop
- Issue 49795: App grid column header title to show for all columns instead of just lookups
Released: 1 March 2024
- Lineage Settings: fix input change handling
Released: 16 May 2024
- Issue 49956: Backport of styling update for PreviewOption for QuerySelect
Released: 8 March 2024
- Issue 49858: LKSM: Saving grid filter on Storage Status takes 5+ minutes to load grid
- Don't include view filters for getRows call
Released: 7 March 2024
- Issue 49835: App Workflow task value not saving when starting from assay "Import Data" page
Released: 5 March 2024
- EditableGrid: Support barcode scanners "streaming" input keys
Released: 5 March 2024
- Issue 49274: App to use chevron arrows instead of plus/minus for expand/collapse (part 2)
Released: 1 March 2024
- Lineage Settings: fix input change handling
Released: 29 February 2024
- Mark project settings as dirty after title change
Released: 29 February 2024
- Issue 49804: Fix grid style
Released: 29 February 2024
- Fix form input layout
- Remove
col-md-and align oncol-sm-9 col-xs-12 - Consolidate default input classNames into constants
Released: 29 February 2024
- Issue 49763: App to suppress "Plate Metadata" setting on assay designs when not applicable
- Issue 49274: App to use chevron arrows instead of plus/minus for expand/collapse
Released: 28 February 2024
- Update EditableGrid to use alternative row background style
- Fix start-link
Released: 27 February 2024
- Issue 49639: Update more info link in admin page
- Remove extraneous horizontal line in User menu when not logged in
- Issue 49428: Add dirty page warning for createProject page
- Issue 49679: change AppURL.create to not throw an exception in production mode when there are empty parts
Released: 26 February 2024
- Add Modal
- Delete LoadingModal
- Delete ConfirmModal
Released: 23 February 2024
- Google Analytics Improvements
- Move files from ui-components to ui-premium
- Use component that passes new analytics titles
Released: 19 February 2024
- Issue 49352: Breadcrumb fix to remove CSS content and replace with new
<li>separator - Issue 48834: Lineage detail panel to use table-layout auto instead of fixed
Released: 15 February 2024
- Support date/time fields for all domain kinds
- Enable date and time field type for all domain kinds
- Update DatePickerInput to support inline edit mode
- Update EditInlineField to use DatePickerInput for date/time type query column
Released: 15 February 2024
- Issue 49418: When exporting, include any query parameters from model
- Issue 49602: Update wording in audit settings help tip
- Issues 49634 and 49629: Update behavior for saved views that include query filters
- Issue 49402: Implement new default Sample Status when discarding samples from storage
- Issue 49639: Remove reference to the product name in API Keys panel.
Released: 14 February 2024
- Refactor ProductMenu, ServerNotifications, ProductNavigation, FilterExpressionView to no longer use DropdownButton
- Update styling for ServerNotifications, ProductNavigation
Released: 14 February 2024
- Merge release24.2-SNAPSHOT to develop:
- includes changes from 3.15.3
Released: 13 February 2024
- Date and Time fields polish
- Fix app editable grid with 'aa' time format
- Fix date picker time picker with 'MMMM dd yyyy HH:mm:ss'
- Fix editable grid date/datetime field level format
Released: 13 February 2024
- Issue 49612: Handle ending drag action "mouse up" outside the editable grid
Released: 13 February 2024
- Plate Set assay import
- AssayImportPanels to use plateSet id in URL and to show Plate Set select instead of Plate select in input form
- App editable grid assay import to filter plate by selected plate set
- Hide PlateTemplate field from assay designer Run Domain fields in app
Released: 12 February 2024
- DisableableMenuItem: change operationPermitted prop to disabled
- not just a rename, this inverts the expected value
- Add DropdownSection
- Replaces SubMenuItem, but outputs DOM structure expected by Bootstrap
- Add DropdownWithSections
- Replaces SubMenu, but outputs DOM structure expected by Bootstrap
- ResponsiveMenuButton:
- use DropdownSection
- remove id prop
- add className prop
- Remove SubMenu
- Remove SubMenuItem
- Remove getMenuItemsForSection (unused)
- Remove getMenuItemForSectionKey (unused)
Released: 9 February 2024
- Issue 48776: Suppress import parent aliasing for media Mixture Batches
- Resolve sample type
categoryinSampleTypePropertiesPaneland display add parent alias button accordingly. - Use API wrappers in
SampleTypePropertiesPanelImpl. - Add
getValidPublishTargetstoDomainPropertiesAPIWrapper. Update to return aContainer[]instead ofList<Container>.
Released: 8 February 2024
- Issue 49560: User permissionsList to default to undefined instead of empty array
Released: 6 February 2024
- Merge release24.2-SNAPSHOT to develop:
- includes changes from 3.15.1 and 3.15.2
Released: 6 February 2024
- Issue 45256: Support "formattedValue" for display
- Switch arguments to
resolveDetailFieldValueto optionally resolveformattedValueanddisplayValue. - Introduce
resolveDetailFieldLabelto make it more clear what is being resolved when reading a usage.
Released: 2 February 2024
- Issue 49440: User may not be in the core.Users table (if permission was removed), so check the core.SiteUsers table as well
Released: 12 February 2024
- Issue 49569: Remove direct use of
LabelOverlayforTextChoiceInputSelectInputusage
Released: 6 February 2024
- Merge release23.11-SNAPSHOT to release24.2-SNAPSHOT:
- includes changes from 2.390.6
Released: 2 February 2024
- Issue 49502: StoredAmount and Units for samples editable grid to use display values instead of raw values
Released: 31 January 2024
- Support Date-only or Time-only fields
- add container.format.timeFormat
- add date and time fields as allowed domain field types
- update ConfirmDataTypeChangeModal to allow date/time type convert
- modify DatePickerInput/DateInputCell to support time-only fields
- wire up time-only fields for QueryFormInputs, DetailDisplay, FilterExpressionView and editable grid
- add util for parsing/formatting time only fields
Released: 31 January 2024
- RReport: Render errors encountered when running the R Report
Released: 31 January 2024
- Issue 49481: Domain designer issue if the field index changes (reordering fields), we need to update the validValues state
- Issue 49439: filter out inactive users from insert and update form query selects
- Issue 49502: If the Editable Grid lookup cell is a measurement unit, then we need to use the unit's display value
- Issue 49383: App error when a folder admin access profile page from a child folder
- Issue 49417: App user details modal to show above the app header details popover
Released: 30 January 2024
- Issue 49507: add
convertUnitsForInputto avoid commas in editable grid
Released: 29 January 2024
- Issue 49378: use the default view if a view doesn't exist
Released: 29 January 2024
- Remove MultiMenuButton
- it was unused
- Add DropdownButton
- Add DropdownAnchor
- Add SplitButton
- Add MenuItem
- Add MenuHeader
- Add MenuDivider
- Update usages of react-bootstrap DropdownButton, SplitButton, MenuItem to internal versions
- ManageDropdownMenu: remove all props
Released: 26 January 2024
- Add
AuditSettingspanel for configuring whether user comments are required for data changes - Add
CommentTextAreaas a general component for entering reasons for data changes - Add
useDataChangeCommentsRequiredhook to retrieve the setting for whether comments/reasons are required
Released: 26 January 2024
- Add metric for shift-select usage.
- Update the
SampleStatusTagcomponent to use app/server context.
Released: 23 January 2024
- Add
api.security.getUsersWithPermissionstoSecurityAPIWrapper - Display internal component request errors via placeholder in
UserSelectInput. Disable on error. - Use
asyncpattern for requests fromUserDetailsPanel
Released: 23 January 2024
- Add optional
onBeforeUpdatetoEditableDetailPanel - Add
plate.PlateTypeto schema constants
Released: 18 January 2024
- Sample Type exclusions from Dashboard Insights charts
- support for DashboardSampleType as a data type exclusion for projects
- support for DashboardSampleType as a data type exclusion for sample type designer
- ProjectDataTypeSelections panelTitle, panelDescription, and showUncheckedWarning
- DataTypeSelector to load via useFolderDataTypeExclusions hook
- AdminSettingsPage to show Dashboard data type exclusions panel when no projects configured
- CreateProjectPage and ProjectSettings to show Dashboard data type exclusions panel
- Dashboard chart config update to getProjectExclusionFilter to account for an array of exclusion types
- changes sample chart configs to exclude based on both 'SampleType' and 'DashboardSampleType' exclusions
- add sampleTypeDataType to AppAdminContext
Released: 17 January 2024
- Remove experimental feature flag for R report capabilities
Released: 17 January 2024
- Update
EntityIdCreationModel.postEntityGridto accept optionalcontainerPath - Issue 49414: Add prop in EntityDataType to indicate if cross-type import is supported
Released: 16 January 2024
- RReport: use dataRegionName
- Fixes Issue 49348
- Add OverlayTrigger and useOverlayTriggerState
- internal version to be used in place of the react-bootstrap version
- Add Tooltip
- internal version to be used in place of the react-bootstrap version
- Add Popover
- internal version to be used in place of the react-bootstrap version
- Update Tip to use internal implementations of OverlayTrigger and Tooltip
- Update LabelOverlay to use internal implementations of OverlayTrigger and Popover
- Change LabelHelpTip to use internal implementations of OverlayTrigger and Popover
- Update DisableableButton to use internal version of Popover and useOverlayTriggerState
- LabelOverlay: remove canMouseOverTooltip prop
Released: 15 January 2024
- Publicly export
PlacementType - Add
allowExportprop onEditableGridPanel - Add
plate.PlateSetto schema constants entity.getDeleteConfirmationData: support containerPath
Released: 15 January 2024
- Multi-Parent Matching in Sample Finder
- add support for NOT_IN_EXP_DESCENDANTS_OF_FILTER_TYPE and IN_EXP_ANCESTORS_OF_FILTER_TYPE
- show equals all for parent card id columns
Released: 11 January 2024
- Refactor all UNSAFE_ usages
Released: 11 January 2024
- Language Consistency: 'My' vs. 'Your' and 'Shared' vs. 'Public'
Released: 11 January 2024
- Make menuReload action actually reload the menu
- Use menuReload action in registerWebsocketListeners
Released: 10 January 2024
- Merge release24.1-SNAPSHOT to develop:
- includes changes from 3.2.5
Released: 9 January 2024
- Add API Keys panel to profile page
- Update QueryInfoForm to optionally not have the buttons stick to the bottom.
- Update SecurityApi with
createApiKeyanddeleteApiKeysactions
Released: 8 January 2024
- Support cross-folder delete
- Refactor InsertRowsResponse, UpdateRowsResponse and DeleteRowsResponse into QueryCommandResponse
- add deleteRowsByContainer util
Released: 3 January 2024
- Update
Alertto accept additional props and match behavior ofreact-bootstrap. - Introduce
DisableableAnchorwhich is anatag that supportsdisabled. - Replace all other usages of
Buttonwithbuttonorain the case wherehrefis supplied.
Released: 9 January 2024
- Issue 49357: Fix error in editable grid when checking for values on undefined set