Class: Playbook::PbDatePicker::DatePicker

Inherits:
KitBase
  • Object
show all
Defined in:
app/pb_kits/playbook/pb_date_picker/date_picker.rb

Instance Attribute Summary

Attributes included from Playbook::Props

#values

Instance Method Summary collapse

Methods inherited from KitBase

#object

Methods included from Playbook::Position

included

Methods included from Order

included, #order_options, #order_props, #order_values

Methods included from FlexShrink

#flex_shrink_options, #flex_shrink_props, #flex_shrink_values, included

Methods included from FlexGrow

#flex_grow_options, #flex_grow_props, #flex_grow_values, included

Methods included from Flex

#flex_options, #flex_props, #flex_values, included

Methods included from AlignSelf

#align_self_options, #align_self_props, #align_self_values, included

Methods included from AlignContent

#align_content_options, #align_content_props, #align_content_values, included

Methods included from AlignItems

#align_items_options, #align_items_props, #align_items_values, included

Methods included from JustifySelf

included, #justify_self_options, #justify_self_props, #justify_self_values

Methods included from JustifyContent

included, #justify_content_options, #justify_content_props, #justify_content_values

Methods included from FlexWrap

#flex_wrap_options, #flex_wrap_props, #flex_wrap_values, included

Methods included from FlexDirection

#flex_direction_options, #flex_direction_props, #flex_direction_values, included

Methods included from Cursor

#cursor_options, #cursor_props, #cursor_values, included

Methods included from Display

#display_options, #display_props, #display_size_values, #display_values, included

Methods included from LineHeight

included, #line_height_options, #line_height_props, #line_height_values

Methods included from Shadow

included, #shadow_options, #shadow_props, #shadow_values

Methods included from NumberSpacing

included

Methods included from ZIndex

included

Methods included from Spacing

included, #max_width_options, #max_width_props, #max_width_values, #spacing_options, #spacing_props, #spacing_values

Methods included from Classnames

#generate_classname, #generate_classname_without_spacing, included

Methods included from Playbook::Props

#initialize, #prop

Methods included from Playbook::PbKitHelper

#pb_rails

Methods included from Playbook::PbFormsHelper

#pb_form_with

Instance Method Details

#classnameObject



65
66
67
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 65

def classname
  generate_classname("pb_date_picker_kit")
end

#date_picker_configObject



69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 69

def date_picker_config
  {
    allowInput: allow_input,
    defaultDate: default_date,
    disableDate: disable_date,
    disableRange: disable_range,
    disableWeekdays: disable_weekdays,
    enableTime: enable_time,
    format: format,
    hideIcon: hide_icon,
    inline: inline,
    maxDate: max_date,
    minDate: min_date,
    mode: mode,
    pickerId: picker_id,
    plugins: plugins,
    position: position,
    positionElement: position_element,
    required: required,
    selectionType: selection_type,
    showTimezone: show_timezone,
    staticPosition: static_position,
    yearRange: year_range,
  }.to_json.html_safe
end

#date_rangesObject



111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 111

def date_ranges
  [
    {
      label: "Today",
      start_date: format_date(::Date.current),
      end_date: format_date(::Date.current),
    },
    {
      label: "Yesterday",
      start_date: format_date(::Date.current.yesterday),
      end_date: format_date(::Date.current.yesterday),
    },
    {
      label: "This Week",
      start_date: format_date(::Date.current.beginning_of_week),
      end_date: format_date(::Date.current.end_of_week),
    },
    {
      label: "This Month",
      start_date: format_date(::Date.current.beginning_of_month),
      end_date: format_date(::Date.current),
    },
    {
      label: "This Quarter",
      start_date: format_date(::Date.current.beginning_of_quarter),
      end_date: format_date(::Date.current),
    },
    {
      label: "This Year",
      start_date: format_date(::Date.current.beginning_of_year),
      end_date: format_date(::Date.current),
    },
    {
      label: "Last Week",
      start_date: format_date(::Date.current.last_week.beginning_of_week),
      end_date: format_date(::Date.current.last_week.end_of_week),
    },
    {
      label: "Last Month",
      start_date: format_date(::Date.current.last_month.beginning_of_month),
      end_date: format_date(::Date.current.last_month.end_of_month),
    },
    {
      label: "Last Quarter",
      start_date: format_date(::Date.current.last_quarter.beginning_of_quarter),
      end_date: format_date(::Date.current.last_quarter.end_of_quarter),
    },
    {
      label: "Last Year",
      start_date: format_date(::Date.current.last_year.beginning_of_year),
      end_date: format_date(::Date.current.last_year.end_of_year),
    },
  ]
end

#error_classObject



95
96
97
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 95

def error_class
  error ? " error" : ""
end

#format_date(date) ⇒ Object



107
108
109
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 107

def format_date(date)
  date.strftime("%m/%d/%Y")
end

#icon_wrapper_classObject



99
100
101
102
103
104
105
# File 'app/pb_kits/playbook/pb_date_picker/date_picker.rb', line 99

def icon_wrapper_class
  class_string = "cal_icon_wrapper"
  class_string += " dark" if dark
  class_string += " no_label_shift" if hide_label
  class_string += error_class
  class_string
end