@UiBibzForm = class Form constructor: -> @switch() if $('input.switch').length > 0 @inputConnected() @selectPicker() if $('select.selectpicker').length > 0 @multiSelect() if $('.multi-select').length > 0 @multiColumn() if $('.multi-column').length > 0 @formula() if $('.formula_field_input').length > 0 inputConnected: -> $('.ui-bibz-connect').inputConnected() selectPicker: -> $('select.selectpicker').selectpicker iconBase: 'fa' tickIcon: 'fa-check' style: 'btn-secondary' switch: -> $('input.switch').bootstrapSwitch({ size: 'large' }) multiSelect: -> # http://loudev.com/ $('.multi-select').each -> data = $(this).data() delete data["multiselect"] data = Object.assign({ inheritClass: true }, data) $(this).multiselect(data) formula: -> me = this formula_input_field = $('.formula_field_input') me.updateFormulaField(formula_input_field) formula_input_field.on 'keyup', -> me.updateFormulaField($(this)) updateFormulaField: (field) -> formulaInputField = field formulaSignField = formulaInputField.siblings('.formula_field_sign') formulaResultField = formulaInputField.siblings('.formula_field_result') formulaAlert = formulaInputField.siblings('.formula_field_alert') f = new window.UiBibzFormula() result = f.go(formulaInputField.val()) error = result[0] response = result[1] if !!error formulaAlert.attr('data-original-title', error) formulaAlert.attr('style', 'display: table-cell;') formulaResultField.addClass('fix-border-right') else formulaAlert.hide() formulaResultField.val(eval(response)) formulaResultField.removeClass('fix-border-right') if isNaN(response) formulaSignField.attr('style', 'display: table-cell;') formulaResultField.attr('style', 'display: table-cell; visible: visible') formulaInputField.addClass('fix-border-right') else formulaSignField.hide() formulaResultField.attr('style', 'visible: hidden;') formulaInputField.removeClass('fix-border-right') multiColumn: -> $(".multi-column").multiSelect() # $('.multi-column').each -> # data = $(this).data() # delete data["multiselect"] # if data["searchable"] # $(this).multiSelect # selectableOptgroup: if data["selectableOptgroup"] then true else false # selectableHeader: "
" # selectionHeader: "
" # afterInit: (ms) -> # that = this # $selectableSearch = that.$selectableUl.siblings('input') # $selectionSearch = that.$selectionUl.siblings('input') # $selectionSearch = that.$selectionUl.siblings('input') # selectableSearchString = "#" + that.$container.attr("id") + " .ms-elem-selectable:not(.ms-selected)" # selectionSearchString = "#" + that.$container.attr("id") + " .ms-elem-selection.ms-selected" # that.qs1 = $selectableSearch.quicksearch(selectableSearchString).on("keydown", (e) -> # if e.which is 40 # that.$selectableUl.focus() # false # ) # that.qs2 = $selectionSearch.quicksearch(selectionSearchString).on("keydown", (e) -> # if e.which is 40 # that.$selectionUl.focus() # false # ) # return # afterSelect: -> # @qs1.cache() # @qs2.cache() # return # afterDeselect: -> # @qs1.cache() # @qs2.cache() # return # else # $(this).multiSelect(data)