Skip to content

Commit

Permalink
Provide dropdowns for defaultValue of constrained fields
Browse files Browse the repository at this point in the history
  • Loading branch information
bffrost committed Mar 4, 2025
1 parent 40c9eec commit 97c6c92
Show file tree
Hide file tree
Showing 2 changed files with 54 additions and 5 deletions.
58 changes: 53 additions & 5 deletions modules/CmpdRegBulkLoader/src/client/CmpdRegBulkLoader.coffee
Original file line number Diff line number Diff line change
Expand Up @@ -229,8 +229,20 @@ class AssignedPropertyController extends AbstractFormController
events:
"change .bv_dbProperty": "handleDbPropertyChanged"
"keyup .bv_defaultVal": "handleDefaultValChanged"
"change .bv_defaultVal": "handleDefaultValChanged"
"change .bv_defaultValSelect": "handleDefaultValChanged"
"click .bv_deleteProperty": "clear"

dbPropertyUrls:
"Lot Chemist": "scientists"
"Parent Stereo Category": "stereoCategories"
"Project": "projects"
"Lot Physical State": "physicalStates"
"Lot Purity Measured By": "purityMeasuredBys"
"Lot Purity Operator": "operators"
"Lot Solution Amount Units": "solutionUnits"
"Units": "units"

initialize: (options) ->
@options = options
unless @model?
Expand All @@ -248,10 +260,13 @@ class AssignedPropertyController extends AbstractFormController
$(@el).html @template(@model.attributes)
@$('.bv_sdfProperty').html(@model.get('sdfProperty'))
@setupDbPropertiesSelect()
@$('.bv_defaultVal').val @model.get('defaultVal')
@setupInput()
if @dbPropertyUrl?
@selectListController.setSelectedCode @model.get('defaultVal')
else
@$('.bv_defaultVal').val @model.get('defaultVal')
if @model.get('dbProperty') is "none"
@$('.bv_defaultVal').attr 'disabled', 'disabled'
@showDatePicker()

@

Expand Down Expand Up @@ -298,18 +313,51 @@ class AssignedPropertyController extends AbstractFormController
else
@model.set required: false
@model.set dbProperty: dbProp
@showDatePicker()
@setupInput()

@trigger 'assignedDbPropChanged'

handleDefaultValChanged: ->
@model.set defaultVal: UtilityFunctions::getTrimmedInput @$('.bv_defaultVal')
if @dbPropertyUrl?
@model.set defaultVal: @selectListController.getSelectedCode()
else
@model.set defaultVal: UtilityFunctions::getTrimmedInput @$('.bv_defaultVal')

clear: =>
@model.destroy()
@trigger 'modelRemoved'

showDatePicker: =>
setupSelect: ->
@selectList = new PickListList()
@selectList.url = "/cmpdreg/" + @dbPropertyUrl
@selectListController = new PickListSelect2Controller
el: @$('.bv_defaultValSelect')
collection: @selectList
insertFirstOption: new PickList
code: ""
name: "Select"
selectedCode: ""

setupInput: =>
# Alter input depending on dbProperty
dbProp = @model.get('dbProperty')
if @dbPropertyUrls[dbProp]? || dbProp.includes("Units")
@dbPropertyUrl = @dbPropertyUrls[@model.get('dbProperty')]
if !@dbPropertyUrl?
@dbPropertyUrl = @dbPropertyUrls["Units"]
@setupSelect()
@$('.bv_defaultValSelect').show()
@$('.bv_defaultVal').hide()
else
@dbPropertyUrl = null
@$('.bv_defaultValSelect').hide()
if @selectListController?
@$('.bv_defaultValSelect').select2('destroy')
@selectListController.remove()
@selectListController.unbind()
@selectListController = null
@$('.bv_defaultVal').show()
# Show date picker if dbProperty is a date
if @model.get('dbProperty').includes("Lot Synthesis Date")
@$('.bv_defaultVal').datepicker();
@$('.bv_defaultVal').datepicker( "option", "dateFormat", "yy-mm-dd" );
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -216,6 +216,7 @@ <h4 class="modal-title bv_saveErrorTitle" style="color:red;"></h4>
</span>
<span class="control-group bv_group_defaultVal">
<input class="bv_defaultVal span2" style="margin-left:20px;width:270px;" type="text"/>
<select class="bv_defaultValSelect hide" style="width:300px;margin-left:6px;">
</span>
<button class="close bv_deleteProperty hide" style="margin-top:1px;">&times;</button>
</div>
Expand Down

0 comments on commit 97c6c92

Please sign in to comment.