class Form
Public Instance Methods
change_attr(attr)
click to toggle source
# File lib/bull/ui_core.rb, line 609 def change_attr(attr) lambda do |value| @dirty.add attr doc = state.__send__(attr.split('.')[0]) set_nested(attr, value, doc){|r, v| state.__send__(r+'!', v)} state.__send__('dirty_' + attr.gsub('.', '_') + '!', true) state.dirty! true end end
clear_dirty()
click to toggle source
# File lib/bull/ui_core.rb, line 640 def clear_dirty @dirty.each {|attr| state.__send__('dirty_' + attr.gsub('.', '_')+'!', false)} @dirty.clear end
dirty?()
click to toggle source
# File lib/bull/ui_core.rb, line 591 def dirty? !@dirty.empty? end
discard()
click to toggle source
# File lib/bull/ui_core.rb, line 645 def discard @selected.value = nil clear #@dirty.each {|attr| state.__send__('dirty_' + attr+'!', false)} #@dirty.clear clear_dirty state.discard! false state.dirty! false end
expand_attr(hsh={})
click to toggle source
# File lib/bull/ui_core.rb, line 595 def expand_attr(hsh={}) lambda do |value| value.each_pair do |k, v| if !hsh[k].nil? k = hsh[k] end @dirty.add k state.__send__(k+'!', v) state.__send__('dirty_' + k + '!', true) state.dirty! true end end end
get(selected)
click to toggle source
# File lib/bull/ui_core.rb, line 686 def get selected @selected = selected selected.add_form self @rvs = reactive(selected) do @dirty.each {|attr| state.__send__('dirty_' + attr+'!', false)} @dirty.clear clear $controller.rpc('get_' + @@table, selected.value).then do|response| response.each do |k, v| state.__send__(k+'!', v) end end end end
get_unique(kw)
click to toggle source
# File lib/bull/ui_core.rb, line 701 def get_unique kw k, selected = kw.shift @selected = selected selected.add_form self @rvs = reactive(selected) do @dirty.each {|attr| state.__send__('dirty_' + attr+'!', false)} @dirty.clear clear $controller.rpc('get_unique_' + @@table, k, selected.value).then do|response| response.each do |k, v| state.__send__(k+'!', v) end end end end
hash_from_state()
click to toggle source
# File lib/bull/ui_core.rb, line 619 def hash_from_state ret = {} @dirty.each do |attr| get_nested!(ret, attr) {|r| state.__send__(r)} end @@constants.each do |cte| get_nested!(ret, cte) {|r| params.__send__(r)} end if @@constants ret end
insert()
click to toggle source
# File lib/bull/ui_core.rb, line 655 def insert $controller.insert(@@table, hash_from_state).then do |response| if response.nil? #$notifications.add ['error', 'form: data not inserted', 1] if $notifications notify_error 'form: data not inserted', 1 else params.selected.value = response #$notifications.add ['ok', 'form: data inserted', 1] if $notifications notify_ok 'form: data inserted', 1 end end #@dirty.each {|attr| state.__send__('dirty_' + attr+'!', false)} #@dirty.clear clear_dirty end
save()
click to toggle source
# File lib/bull/ui_core.rb, line 630 def save if state.id update else insert end state.discard! false state.dirty! false end
update()
click to toggle source
# File lib/bull/ui_core.rb, line 671 def update $controller.update(@@table, state.id, hash_from_state).then do |count| if count == 0 #$notifications.add ['error', 'form: data not updated', 1] if $notifications notify_error 'form: data not updated', 1 elsif count == 1 #$notifications.add ['ok', 'form: data updated', 1] if $notifications notify_ok 'form: data updated', 1 end end #@dirty.each {|attr| state.__send__('dirty_' + attr.gsub('.', '_')+'!', false)} #@dirty.clear clear_dirty end