Module: Infold::AppViewSearchConcern

Extended by:
ActiveSupport::Concern
Included in:
AppViewIndex, AppViewModal
Defined in:
app/models/concerns/infold/app_view_search_concern.rb

Instance Method Summary collapse

Instance Method Details

#build_default_conditionsObject



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 34

def build_default_conditions
  if model.pk_column
    search_condition = search_conditions.build
    search_condition.seq = 0
    search_condition.model_column = model.pk_column
    search_condition.form_kind = :text
    search_condition.sign = :eq
    search_condition.label = 'ID'
  end

  if model.label_column&.is_a?(ModelColumn)
    search_condition = search_conditions.build
    search_condition.seq = 1
    search_condition.model_column = model.label_column
    search_condition.form_kind = :text
    search_condition.sign = :like
    search_condition.label = model.label_column.locale
  end
end

#build_default_resultsObject



54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 54

def build_default_results
  seq = -1
  model.columns.sort_by(&:seq).each do |column|
    break if search_result_columns.size > 4
    next if view_type == :modal && column != model.pk_column && column != model.label_column
    search_result = search_result_columns.build
    search_result.app_view_index = self if view_type == :index
    search_result.app_view_modal = self if view_type == :modal
    search_result.seq = seq += 1
    search_result.model_column = column
    search_result.display = true
  end
end

#save_csv_columnsObject



26
27
28
29
30
31
32
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 26

def save_csv_columns
  seq = -1
  csv_columns.sort_by(&:seq).each do |result|
    result.seq = seq += 1
  end
  self.save
end

#save_search_conditionsObject



10
11
12
13
14
15
16
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 10

def save_search_conditions
  seq = -1
  search_conditions.sort_by(&:seq).each do |cond|
    cond.seq = seq += 1
  end
  self.save
end

#save_search_result_fieldsObject



18
19
20
21
22
23
24
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 18

def save_search_result_fields
  seq = -1
  search_result_fields.sort_by(&:seq).each do |result|
    result.seq = seq += 1
  end
  self.save
end

#view_typeObject



68
69
70
# File 'app/models/concerns/infold/app_view_search_concern.rb', line 68

def view_type
  self.class.name == AppViewIndex.name ? :index : :modal
end