workarea-admin 3.4.12

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1331) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +52 -0
  3. data/README.md +19 -0
  4. data/Rakefile +23 -0
  5. data/app/assets/fonts/workarea/admin/spark_dotline_medium.woff +0 -0
  6. data/app/assets/fonts/workarea/admin/spark_dotline_medium.woff2 +0 -0
  7. data/app/assets/images/workarea/admin/add.svg +1 -0
  8. data/app/assets/images/workarea/admin/complete.svg +1 -0
  9. data/app/assets/images/workarea/admin/content_block_types/button.svg +1 -0
  10. data/app/assets/images/workarea/admin/content_block_types/category_summary.svg +1 -0
  11. data/app/assets/images/workarea/admin/content_block_types/custom_block.svg +1 -0
  12. data/app/assets/images/workarea/admin/content_block_types/divider.svg +1 -0
  13. data/app/assets/images/workarea/admin/content_block_types/hero.svg +1 -0
  14. data/app/assets/images/workarea/admin/content_block_types/html.svg +1 -0
  15. data/app/assets/images/workarea/admin/content_block_types/image.svg +1 -0
  16. data/app/assets/images/workarea/admin/content_block_types/image_and_text.svg +1 -0
  17. data/app/assets/images/workarea/admin/content_block_types/image_group.svg +1 -0
  18. data/app/assets/images/workarea/admin/content_block_types/product_insights.svg +1 -0
  19. data/app/assets/images/workarea/admin/content_block_types/product_list.svg +1 -0
  20. data/app/assets/images/workarea/admin/content_block_types/quote.svg +1 -0
  21. data/app/assets/images/workarea/admin/content_block_types/recommendations.svg +1 -0
  22. data/app/assets/images/workarea/admin/content_block_types/social_networks.svg +1 -0
  23. data/app/assets/images/workarea/admin/content_block_types/taxonomy.svg +1 -0
  24. data/app/assets/images/workarea/admin/content_block_types/text.svg +1 -0
  25. data/app/assets/images/workarea/admin/content_block_types/three_column_taxonomy.svg +1 -0
  26. data/app/assets/images/workarea/admin/content_block_types/two_column_taxonomy.svg +1 -0
  27. data/app/assets/images/workarea/admin/content_block_types/video.svg +1 -0
  28. data/app/assets/images/workarea/admin/content_block_types/video_and_text.svg +1 -0
  29. data/app/assets/images/workarea/admin/default_card.svg +1 -0
  30. data/app/assets/images/workarea/admin/favicon.ico +0 -0
  31. data/app/assets/images/workarea/admin/i18n.svg +1 -0
  32. data/app/assets/images/workarea/admin/icons/add.svg +1 -0
  33. data/app/assets/images/workarea/admin/icons/add_circle.svg +1 -0
  34. data/app/assets/images/workarea/admin/icons/alert.svg +1 -0
  35. data/app/assets/images/workarea/admin/icons/apple_calendar.svg +1 -0
  36. data/app/assets/images/workarea/admin/icons/arrow_down.svg +1 -0
  37. data/app/assets/images/workarea/admin/icons/arrow_up.svg +1 -0
  38. data/app/assets/images/workarea/admin/icons/asset.svg +1 -0
  39. data/app/assets/images/workarea/admin/icons/attributes.svg +1 -0
  40. data/app/assets/images/workarea/admin/icons/calendar.svg +1 -0
  41. data/app/assets/images/workarea/admin/icons/categories.svg +1 -0
  42. data/app/assets/images/workarea/admin/icons/category.svg +1 -0
  43. data/app/assets/images/workarea/admin/icons/clock.svg +1 -0
  44. data/app/assets/images/workarea/admin/icons/close.svg +1 -0
  45. data/app/assets/images/workarea/admin/icons/comment.svg +1 -0
  46. data/app/assets/images/workarea/admin/icons/comments.svg +1 -0
  47. data/app/assets/images/workarea/admin/icons/comments_viewed.svg +1 -0
  48. data/app/assets/images/workarea/admin/icons/content.svg +1 -0
  49. data/app/assets/images/workarea/admin/icons/create_preset.svg +1 -0
  50. data/app/assets/images/workarea/admin/icons/delete.svg +1 -0
  51. data/app/assets/images/workarea/admin/icons/edit.svg +1 -0
  52. data/app/assets/images/workarea/admin/icons/expand_more.svg +1 -0
  53. data/app/assets/images/workarea/admin/icons/favicon.svg +1 -0
  54. data/app/assets/images/workarea/admin/icons/featured_products.svg +1 -0
  55. data/app/assets/images/workarea/admin/icons/fire.svg +1 -0
  56. data/app/assets/images/workarea/admin/icons/fulfillment.svg +1 -0
  57. data/app/assets/images/workarea/admin/icons/google_calendar.svg +1 -0
  58. data/app/assets/images/workarea/admin/icons/grip.svg +1 -0
  59. data/app/assets/images/workarea/admin/icons/help.svg +1 -0
  60. data/app/assets/images/workarea/admin/icons/home.svg +1 -0
  61. data/app/assets/images/workarea/admin/icons/images.svg +1 -0
  62. data/app/assets/images/workarea/admin/icons/impersonation.svg +1 -0
  63. data/app/assets/images/workarea/admin/icons/imports.svg +1 -0
  64. data/app/assets/images/workarea/admin/icons/insights.svg +1 -0
  65. data/app/assets/images/workarea/admin/icons/inventory_sku.svg +1 -0
  66. data/app/assets/images/workarea/admin/icons/items.svg +1 -0
  67. data/app/assets/images/workarea/admin/icons/link.svg +1 -0
  68. data/app/assets/images/workarea/admin/icons/medium.svg +1 -0
  69. data/app/assets/images/workarea/admin/icons/menu.svg +1 -0
  70. data/app/assets/images/workarea/admin/icons/navigate_before.svg +1 -0
  71. data/app/assets/images/workarea/admin/icons/navigate_next.svg +1 -0
  72. data/app/assets/images/workarea/admin/icons/navigation_menu.svg +1 -0
  73. data/app/assets/images/workarea/admin/icons/order.svg +1 -0
  74. data/app/assets/images/workarea/admin/icons/order_statistics.svg +1 -0
  75. data/app/assets/images/workarea/admin/icons/orders.svg +1 -0
  76. data/app/assets/images/workarea/admin/icons/original.svg +1 -0
  77. data/app/assets/images/workarea/admin/icons/outlook.svg +1 -0
  78. data/app/assets/images/workarea/admin/icons/page.svg +1 -0
  79. data/app/assets/images/workarea/admin/icons/pages.svg +1 -0
  80. data/app/assets/images/workarea/admin/icons/payment.svg +1 -0
  81. data/app/assets/images/workarea/admin/icons/payment_transaction.svg +1 -0
  82. data/app/assets/images/workarea/admin/icons/permissions.svg +1 -0
  83. data/app/assets/images/workarea/admin/icons/plan_changes.svg +1 -0
  84. data/app/assets/images/workarea/admin/icons/planned_changes.svg +1 -0
  85. data/app/assets/images/workarea/admin/icons/prices.svg +1 -0
  86. data/app/assets/images/workarea/admin/icons/pricing.svg +1 -0
  87. data/app/assets/images/workarea/admin/icons/pricing_discount.svg +1 -0
  88. data/app/assets/images/workarea/admin/icons/pricing_sku.svg +1 -0
  89. data/app/assets/images/workarea/admin/icons/products.svg +1 -0
  90. data/app/assets/images/workarea/admin/icons/rates.svg +1 -0
  91. data/app/assets/images/workarea/admin/icons/recommendations.svg +1 -0
  92. data/app/assets/images/workarea/admin/icons/refresh.svg +1 -0
  93. data/app/assets/images/workarea/admin/icons/release.svg +1 -0
  94. data/app/assets/images/workarea/admin/icons/release_timeline.svg +1 -0
  95. data/app/assets/images/workarea/admin/icons/rules.svg +1 -0
  96. data/app/assets/images/workarea/admin/icons/saved_addresses.svg +1 -0
  97. data/app/assets/images/workarea/admin/icons/search.svg +1 -0
  98. data/app/assets/images/workarea/admin/icons/settings.svg +1 -0
  99. data/app/assets/images/workarea/admin/icons/shipping.svg +1 -0
  100. data/app/assets/images/workarea/admin/icons/small.svg +1 -0
  101. data/app/assets/images/workarea/admin/icons/star.svg +1 -0
  102. data/app/assets/images/workarea/admin/icons/timeline.svg +1 -0
  103. data/app/assets/images/workarea/admin/icons/tmp.svg +1 -0
  104. data/app/assets/images/workarea/admin/icons/user.svg +1 -0
  105. data/app/assets/images/workarea/admin/icons/variants.svg +1 -0
  106. data/app/assets/images/workarea/admin/icons/view.svg +1 -0
  107. data/app/assets/images/workarea/admin/icons/wide.svg +1 -0
  108. data/app/assets/images/workarea/admin/icons/wysiwyg/bold.svg +1 -0
  109. data/app/assets/images/workarea/admin/icons/wysiwyg/bulleted_list.svg +1 -0
  110. data/app/assets/images/workarea/admin/icons/wysiwyg/html.svg +1 -0
  111. data/app/assets/images/workarea/admin/icons/wysiwyg/italic.svg +1 -0
  112. data/app/assets/images/workarea/admin/icons/wysiwyg/link.svg +1 -0
  113. data/app/assets/images/workarea/admin/icons/wysiwyg/numbered_list.svg +1 -0
  114. data/app/assets/images/workarea/admin/icons/wysiwyg/underline.svg +1 -0
  115. data/app/assets/images/workarea/admin/invalid.svg +1 -0
  116. data/app/assets/images/workarea/admin/logo.svg +1 -0
  117. data/app/assets/images/workarea/admin/message_error.svg +1 -0
  118. data/app/assets/images/workarea/admin/message_info.svg +1 -0
  119. data/app/assets/images/workarea/admin/message_success.svg +1 -0
  120. data/app/assets/images/workarea/admin/message_warning.svg +1 -0
  121. data/app/assets/images/workarea/admin/payment_icons/american_express.svg +1 -0
  122. data/app/assets/images/workarea/admin/payment_icons/diner_s_club.svg +1 -0
  123. data/app/assets/images/workarea/admin/payment_icons/discover.svg +1 -0
  124. data/app/assets/images/workarea/admin/payment_icons/mastercard.svg +1 -0
  125. data/app/assets/images/workarea/admin/payment_icons/visa.svg +1 -0
  126. data/app/assets/images/workarea/admin/selected.svg +1 -0
  127. data/app/assets/images/workarea/admin/valid.svg +1 -0
  128. data/app/assets/javascripts/jquery_ui/admin/categorized_autocomplete.js +53 -0
  129. data/app/assets/javascripts/jquery_ujs/replace.js +15 -0
  130. data/app/assets/javascripts/workarea/admin/application.js.erb +235 -0
  131. data/app/assets/javascripts/workarea/admin/config.js.erb +700 -0
  132. data/app/assets/javascripts/workarea/admin/google_analytics.js +6 -0
  133. data/app/assets/javascripts/workarea/admin/modules/add_content_block_buttons.js +71 -0
  134. data/app/assets/javascripts/workarea/admin/modules/add_to_calendar_buttons.js +45 -0
  135. data/app/assets/javascripts/workarea/admin/modules/asset_picker_fields.js +51 -0
  136. data/app/assets/javascripts/workarea/admin/modules/asset_pickers.js +65 -0
  137. data/app/assets/javascripts/workarea/admin/modules/autocomplete_fields.js +55 -0
  138. data/app/assets/javascripts/workarea/admin/modules/bookmarks.js +40 -0
  139. data/app/assets/javascripts/workarea/admin/modules/bulk_action_deletion.js +43 -0
  140. data/app/assets/javascripts/workarea/admin/modules/bulk_action_items.js +319 -0
  141. data/app/assets/javascripts/workarea/admin/modules/calendars.js +130 -0
  142. data/app/assets/javascripts/workarea/admin/modules/categorized_autocomplete_fields.js +58 -0
  143. data/app/assets/javascripts/workarea/admin/modules/cloneable_rows.js +58 -0
  144. data/app/assets/javascripts/workarea/admin/modules/content_block_list.js +70 -0
  145. data/app/assets/javascripts/workarea/admin/modules/content_blocks.js +248 -0
  146. data/app/assets/javascripts/workarea/admin/modules/content_editor.js +44 -0
  147. data/app/assets/javascripts/workarea/admin/modules/content_editor_form_cancel.js +29 -0
  148. data/app/assets/javascripts/workarea/admin/modules/content_editor_forms.js +58 -0
  149. data/app/assets/javascripts/workarea/admin/modules/content_preset_form.js +29 -0
  150. data/app/assets/javascripts/workarea/admin/modules/content_preview.js +86 -0
  151. data/app/assets/javascripts/workarea/admin/modules/dashboard_charts.js +182 -0
  152. data/app/assets/javascripts/workarea/admin/modules/dashboard_toggles.js +59 -0
  153. data/app/assets/javascripts/workarea/admin/modules/datepicker_fields.js +113 -0
  154. data/app/assets/javascripts/workarea/admin/modules/datetimepicker_fields.js +160 -0
  155. data/app/assets/javascripts/workarea/admin/modules/direct_uploads.js +329 -0
  156. data/app/assets/javascripts/workarea/admin/modules/disable_publish_now.js +80 -0
  157. data/app/assets/javascripts/workarea/admin/modules/discount_options_menus.js +115 -0
  158. data/app/assets/javascripts/workarea/admin/modules/dom_remove.js +30 -0
  159. data/app/assets/javascripts/workarea/admin/modules/expandables.js +70 -0
  160. data/app/assets/javascripts/workarea/admin/modules/featured_products_sort.js +28 -0
  161. data/app/assets/javascripts/workarea/admin/modules/filter_dropdowns.js +88 -0
  162. data/app/assets/javascripts/workarea/admin/modules/help_helper.js +127 -0
  163. data/app/assets/javascripts/workarea/admin/modules/help_lookup_buttons.js +66 -0
  164. data/app/assets/javascripts/workarea/admin/modules/live_search_text.js +49 -0
  165. data/app/assets/javascripts/workarea/admin/modules/menu_editor_links.js +69 -0
  166. data/app/assets/javascripts/workarea/admin/modules/menu_editor_menu_list_sortables.js +107 -0
  167. data/app/assets/javascripts/workarea/admin/modules/menu_editor_sort_by_menus.js +48 -0
  168. data/app/assets/javascripts/workarea/admin/modules/messages.js +187 -0
  169. data/app/assets/javascripts/workarea/admin/modules/new_navigation_taxons.js +58 -0
  170. data/app/assets/javascripts/workarea/admin/modules/pricing_overrides.js +36 -0
  171. data/app/assets/javascripts/workarea/admin/modules/primary_nav.js +37 -0
  172. data/app/assets/javascripts/workarea/admin/modules/product_copy_ids.js +47 -0
  173. data/app/assets/javascripts/workarea/admin/modules/product_images_sortables.js +59 -0
  174. data/app/assets/javascripts/workarea/admin/modules/product_rules_preview.js +51 -0
  175. data/app/assets/javascripts/workarea/admin/modules/property_toggles.js +88 -0
  176. data/app/assets/javascripts/workarea/admin/modules/publish_create_release.js +40 -0
  177. data/app/assets/javascripts/workarea/admin/modules/publish_with_release_menus.js +132 -0
  178. data/app/assets/javascripts/workarea/admin/modules/range_fields.js +35 -0
  179. data/app/assets/javascripts/workarea/admin/modules/recommendations_sortables.js +20 -0
  180. data/app/assets/javascripts/workarea/admin/modules/releasable_model_search_forms.js +42 -0
  181. data/app/assets/javascripts/workarea/admin/modules/release_calendar_placeholders.js +83 -0
  182. data/app/assets/javascripts/workarea/admin/modules/release_reminder.js +93 -0
  183. data/app/assets/javascripts/workarea/admin/modules/relevance_sort.js +30 -0
  184. data/app/assets/javascripts/workarea/admin/modules/remote_selects.js +116 -0
  185. data/app/assets/javascripts/workarea/admin/modules/sort_navigation_menus.js +44 -0
  186. data/app/assets/javascripts/workarea/admin/modules/sort_variants.js +67 -0
  187. data/app/assets/javascripts/workarea/admin/modules/tabs.js +66 -0
  188. data/app/assets/javascripts/workarea/admin/modules/takeover.js +154 -0
  189. data/app/assets/javascripts/workarea/admin/modules/taxon_insert.js +96 -0
  190. data/app/assets/javascripts/workarea/admin/modules/taxon_select.js +50 -0
  191. data/app/assets/javascripts/workarea/admin/modules/toggle_buttons.js +50 -0
  192. data/app/assets/javascripts/workarea/admin/modules/toggle_filters.js +43 -0
  193. data/app/assets/javascripts/workarea/admin/modules/tooltips.js +128 -0
  194. data/app/assets/javascripts/workarea/admin/modules/unsaved_changes.js +56 -0
  195. data/app/assets/javascripts/workarea/admin/modules/wysiwygs.js +87 -0
  196. data/app/assets/javascripts/workarea/admin/routes.js.erb +27 -0
  197. data/app/assets/javascripts/workarea/admin/templates/bookmark_form.jst.ejs +5 -0
  198. data/app/assets/javascripts/workarea/admin/templates/bulk_action_items_count.jst.ejs +4 -0
  199. data/app/assets/javascripts/workarea/admin/templates/chart_legend.jst.ejs +9 -0
  200. data/app/assets/javascripts/workarea/admin/templates/checkbox_with_label.jst.ejs +2 -0
  201. data/app/assets/javascripts/workarea/admin/templates/content_block_iframe.jst.ejs +2 -0
  202. data/app/assets/javascripts/workarea/admin/templates/datetime_picker.jst.ejs +37 -0
  203. data/app/assets/javascripts/workarea/admin/templates/direct_upload_processing.jst.ejs +25 -0
  204. data/app/assets/javascripts/workarea/admin/templates/direct_upload_table_row.jst.ejs +10 -0
  205. data/app/assets/javascripts/workarea/admin/templates/expandable_button.jst.ejs +4 -0
  206. data/app/assets/javascripts/workarea/admin/templates/help_helper.jst.ejs +97 -0
  207. data/app/assets/javascripts/workarea/admin/templates/help_helper_text.jst.ejs +6 -0
  208. data/app/assets/javascripts/workarea/admin/templates/inactive_blocks_toggle.jst.ejs +1 -0
  209. data/app/assets/javascripts/workarea/admin/templates/inline_datepicker.jst.ejs +1 -0
  210. data/app/assets/javascripts/workarea/admin/templates/loading.jst.ejs +1 -0
  211. data/app/assets/javascripts/workarea/admin/templates/message.jst.ejs +10 -0
  212. data/app/assets/javascripts/workarea/admin/templates/message_dismiss_action.jst.ejs +5 -0
  213. data/app/assets/javascripts/workarea/admin/templates/new_release_option.jst.ejs +1 -0
  214. data/app/assets/javascripts/workarea/admin/templates/release_select_form.jst.ejs +5 -0
  215. data/app/assets/javascripts/workarea/admin/templates/remote_select.jst.ejs +1 -0
  216. data/app/assets/javascripts/workarea/admin/templates/remote_select_insight.jst.ejs.ruby +25 -0
  217. data/app/assets/javascripts/workarea/admin/templates/remote_select_sparkline.jst.ejs +8 -0
  218. data/app/assets/javascripts/workarea/admin/templates/tabs_menu.jst.ejs +7 -0
  219. data/app/assets/javascripts/workarea/admin/templates/takeover.jst.ejs +3 -0
  220. data/app/assets/javascripts/workarea/admin/templates/ui_menu_heading.jst.ejs +1 -0
  221. data/app/assets/javascripts/workarea/admin/templates/ui_menu_item.jst.ejs +8 -0
  222. data/app/assets/javascripts/workarea/admin/templates/wysiwyg_toolbar.jst.ejs.ruby +59 -0
  223. data/app/assets/stylesheets/dropzonejs/admin/_dropzone.scss +126 -0
  224. data/app/assets/stylesheets/jquery_select2/admin/theme/_workarea.scss +413 -0
  225. data/app/assets/stylesheets/jquery_ui/admin/_ui_accordion.scss +11 -0
  226. data/app/assets/stylesheets/jquery_ui/admin/_ui_accordion_content.scss +12 -0
  227. data/app/assets/stylesheets/jquery_ui/admin/_ui_accordion_header.scss +37 -0
  228. data/app/assets/stylesheets/jquery_ui/admin/_ui_autocomplete.scss +17 -0
  229. data/app/assets/stylesheets/jquery_ui/admin/_ui_datepicker.scss +158 -0
  230. data/app/assets/stylesheets/jquery_ui/admin/_ui_helper_hidden_accessible.scss +7 -0
  231. data/app/assets/stylesheets/jquery_ui/admin/_ui_menu.scss +44 -0
  232. data/app/assets/stylesheets/jquery_ui/admin/_ui_sortable.scss +9 -0
  233. data/app/assets/stylesheets/jquery_ui/admin/_ui_state_focus.scss +14 -0
  234. data/app/assets/stylesheets/jquery_ui/admin/_ui_tabs.scss +71 -0
  235. data/app/assets/stylesheets/tooltipster/admin/_tooltipster_workarea_admin.scss +88 -0
  236. data/app/assets/stylesheets/turbolinks/admin/_progress_bar.scss +11 -0
  237. data/app/assets/stylesheets/workarea/admin/application.scss.erb +150 -0
  238. data/app/assets/stylesheets/workarea/admin/base/_forms.scss +82 -0
  239. data/app/assets/stylesheets/workarea/admin/base/_images.scss +29 -0
  240. data/app/assets/stylesheets/workarea/admin/base/_links.scss +5 -0
  241. data/app/assets/stylesheets/workarea/admin/base/_lists.scss +8 -0
  242. data/app/assets/stylesheets/workarea/admin/base/_page.scss +32 -0
  243. data/app/assets/stylesheets/workarea/admin/base/_tables.scss +54 -0
  244. data/app/assets/stylesheets/workarea/admin/components/_activity.scss +63 -0
  245. data/app/assets/stylesheets/workarea/admin/components/_activity_group.scss +27 -0
  246. data/app/assets/stylesheets/workarea/admin/components/_add_to_calendar.scss +17 -0
  247. data/app/assets/stylesheets/workarea/admin/components/_admin_toolbar.scss +5 -0
  248. data/app/assets/stylesheets/workarea/admin/components/_asset_picker_field.scss +11 -0
  249. data/app/assets/stylesheets/workarea/admin/components/_avatar.scss +38 -0
  250. data/app/assets/stylesheets/workarea/admin/components/_box.scss +52 -0
  251. data/app/assets/stylesheets/workarea/admin/components/_browsing_controls.scss +234 -0
  252. data/app/assets/stylesheets/workarea/admin/components/_bulk_actions.scss +42 -0
  253. data/app/assets/stylesheets/workarea/admin/components/_button.scss +75 -0
  254. data/app/assets/stylesheets/workarea/admin/components/_calendar.scss +325 -0
  255. data/app/assets/stylesheets/workarea/admin/components/_card.scss +193 -0
  256. data/app/assets/stylesheets/workarea/admin/components/_chart.scss +154 -0
  257. data/app/assets/stylesheets/workarea/admin/components/_chart_legend.scss +22 -0
  258. data/app/assets/stylesheets/workarea/admin/components/_chartkick.scss +11 -0
  259. data/app/assets/stylesheets/workarea/admin/components/_checkbox.scss +74 -0
  260. data/app/assets/stylesheets/workarea/admin/components/_color_picker.scss +21 -0
  261. data/app/assets/stylesheets/workarea/admin/components/_comments.scss +76 -0
  262. data/app/assets/stylesheets/workarea/admin/components/_content_block.scss +136 -0
  263. data/app/assets/stylesheets/workarea/admin/components/_content_block_list.scss +58 -0
  264. data/app/assets/stylesheets/workarea/admin/components/_content_editor.scss +161 -0
  265. data/app/assets/stylesheets/workarea/admin/components/_content_preview.scss +117 -0
  266. data/app/assets/stylesheets/workarea/admin/components/_dashboard.scss +80 -0
  267. data/app/assets/stylesheets/workarea/admin/components/_dashboard_graphs.scss +23 -0
  268. data/app/assets/stylesheets/workarea/admin/components/_data_file_sample.scss +18 -0
  269. data/app/assets/stylesheets/workarea/admin/components/_data_pairs.scss +46 -0
  270. data/app/assets/stylesheets/workarea/admin/components/_date_marker.scss +42 -0
  271. data/app/assets/stylesheets/workarea/admin/components/_direct_upload.scss +105 -0
  272. data/app/assets/stylesheets/workarea/admin/components/_discount.scss +41 -0
  273. data/app/assets/stylesheets/workarea/admin/components/_expandable.scss +48 -0
  274. data/app/assets/stylesheets/workarea/admin/components/_header.scss +184 -0
  275. data/app/assets/stylesheets/workarea/admin/components/_help_article.scss +17 -0
  276. data/app/assets/stylesheets/workarea/admin/components/_help_article_summary.scss +57 -0
  277. data/app/assets/stylesheets/workarea/admin/components/_help_helper.scss +559 -0
  278. data/app/assets/stylesheets/workarea/admin/components/_index_table.scss +79 -0
  279. data/app/assets/stylesheets/workarea/admin/components/_insight.scss +93 -0
  280. data/app/assets/stylesheets/workarea/admin/components/_live_search.scss +120 -0
  281. data/app/assets/stylesheets/workarea/admin/components/_loading.scss +63 -0
  282. data/app/assets/stylesheets/workarea/admin/components/_menu.scss +121 -0
  283. data/app/assets/stylesheets/workarea/admin/components/_menu_editor.scss +400 -0
  284. data/app/assets/stylesheets/workarea/admin/components/_message.scss +108 -0
  285. data/app/assets/stylesheets/workarea/admin/components/_navigation_builder.scss +97 -0
  286. data/app/assets/stylesheets/workarea/admin/components/_new_block_button.scss +64 -0
  287. data/app/assets/stylesheets/workarea/admin/components/_new_navigation_link.scss +23 -0
  288. data/app/assets/stylesheets/workarea/admin/components/_page_container.scss +5 -0
  289. data/app/assets/stylesheets/workarea/admin/components/_page_content.scss +19 -0
  290. data/app/assets/stylesheets/workarea/admin/components/_page_messages.scss +11 -0
  291. data/app/assets/stylesheets/workarea/admin/components/_pagination.scss +27 -0
  292. data/app/assets/stylesheets/workarea/admin/components/_payment_icon.scss +20 -0
  293. data/app/assets/stylesheets/workarea/admin/components/_pricing_overrides.scss +13 -0
  294. data/app/assets/stylesheets/workarea/admin/components/_primary_nav.scss +85 -0
  295. data/app/assets/stylesheets/workarea/admin/components/_product_images.scss +83 -0
  296. data/app/assets/stylesheets/workarea/admin/components/_product_rules.scss +33 -0
  297. data/app/assets/stylesheets/workarea/admin/components/_product_rules_preview.scss +29 -0
  298. data/app/assets/stylesheets/workarea/admin/components/_product_summary.scss +78 -0
  299. data/app/assets/stylesheets/workarea/admin/components/_property.scss +116 -0
  300. data/app/assets/stylesheets/workarea/admin/components/_property_toggle.scss +35 -0
  301. data/app/assets/stylesheets/workarea/admin/components/_range_input.scss +32 -0
  302. data/app/assets/stylesheets/workarea/admin/components/_release_changeset.scss +87 -0
  303. data/app/assets/stylesheets/workarea/admin/components/_release_creatable.scss +53 -0
  304. data/app/assets/stylesheets/workarea/admin/components/_release_select.scss +70 -0
  305. data/app/assets/stylesheets/workarea/admin/components/_search_form.scss +78 -0
  306. data/app/assets/stylesheets/workarea/admin/components/_secondary_nav.scss +16 -0
  307. data/app/assets/stylesheets/workarea/admin/components/_state.scss +35 -0
  308. data/app/assets/stylesheets/workarea/admin/components/_style_guide.scss +134 -0
  309. data/app/assets/stylesheets/workarea/admin/components/_summary.scss +199 -0
  310. data/app/assets/stylesheets/workarea/admin/components/_svg_icon.scss +62 -0
  311. data/app/assets/stylesheets/workarea/admin/components/_tabs.scss +22 -0
  312. data/app/assets/stylesheets/workarea/admin/components/_takeover.scss +95 -0
  313. data/app/assets/stylesheets/workarea/admin/components/_text_box.scss +97 -0
  314. data/app/assets/stylesheets/workarea/admin/components/_text_button.scss +73 -0
  315. data/app/assets/stylesheets/workarea/admin/components/_toggle_button.scss +159 -0
  316. data/app/assets/stylesheets/workarea/admin/components/_top_help_articles.scss +82 -0
  317. data/app/assets/stylesheets/workarea/admin/components/_view.scss +64 -0
  318. data/app/assets/stylesheets/workarea/admin/components/_workflow_bar.scss +125 -0
  319. data/app/assets/stylesheets/workarea/admin/components/_wysiwyg.scss +110 -0
  320. data/app/assets/stylesheets/workarea/admin/email.scss +4 -0
  321. data/app/assets/stylesheets/workarea/admin/email/_base.scss +48 -0
  322. data/app/assets/stylesheets/workarea/admin/email/_components.scss +114 -0
  323. data/app/assets/stylesheets/workarea/admin/email/_helpers.scss +69 -0
  324. data/app/assets/stylesheets/workarea/admin/email/_settings.scss +22 -0
  325. data/app/assets/stylesheets/workarea/admin/generic/_box_sizing.scss +20 -0
  326. data/app/assets/stylesheets/workarea/admin/generic/_fonts.scss +10 -0
  327. data/app/assets/stylesheets/workarea/admin/generic/_reset.scss +47 -0
  328. data/app/assets/stylesheets/workarea/admin/objects/_button_reset.scss +17 -0
  329. data/app/assets/stylesheets/workarea/admin/objects/_inline_list.scss +26 -0
  330. data/app/assets/stylesheets/workarea/admin/objects/_list_reset.scss +10 -0
  331. data/app/assets/stylesheets/workarea/admin/objects/_section.scss +8 -0
  332. data/app/assets/stylesheets/workarea/admin/objects/_text_field_reset.scss +10 -0
  333. data/app/assets/stylesheets/workarea/admin/objects/_tooltip_content.scss +25 -0
  334. data/app/assets/stylesheets/workarea/admin/settings/_breakpoints.scss.erb +8 -0
  335. data/app/assets/stylesheets/workarea/admin/settings/_colors.scss +32 -0
  336. data/app/assets/stylesheets/workarea/admin/settings/_global.scss +35 -0
  337. data/app/assets/stylesheets/workarea/admin/settings/_grid.scss +37 -0
  338. data/app/assets/stylesheets/workarea/admin/settings/_typography.scss +21 -0
  339. data/app/assets/stylesheets/workarea/admin/settings/_z_indexes.scss +37 -0
  340. data/app/assets/stylesheets/workarea/admin/tools/_center.scss +34 -0
  341. data/app/assets/stylesheets/workarea/admin/tools/_focus_ring.scss +23 -0
  342. data/app/assets/stylesheets/workarea/admin/tools/_global_box_shadow.scss +32 -0
  343. data/app/assets/stylesheets/workarea/admin/tools/_respond_to.scss +31 -0
  344. data/app/assets/stylesheets/workarea/admin/tools/_svg.scss +29 -0
  345. data/app/assets/stylesheets/workarea/admin/tools/_text_box_image.scss +24 -0
  346. data/app/assets/stylesheets/workarea/admin/trumps/_break_word.scss +9 -0
  347. data/app/assets/stylesheets/workarea/admin/trumps/_clearfix.scss +13 -0
  348. data/app/assets/stylesheets/workarea/admin/trumps/_hidden.scss +71 -0
  349. data/app/assets/stylesheets/workarea/admin/trumps/_image_replacement.scss +11 -0
  350. data/app/assets/stylesheets/workarea/admin/trumps/_truncate.scss +10 -0
  351. data/app/assets/stylesheets/workarea/admin/trumps/_visible.scss +70 -0
  352. data/app/assets/stylesheets/workarea/admin/trumps/_visually_hidden.scss +14 -0
  353. data/app/assets/stylesheets/workarea/admin/typography/_align.scss +15 -0
  354. data/app/assets/stylesheets/workarea/admin/typography/_headings.scss +87 -0
  355. data/app/assets/stylesheets/workarea/admin/typography/_links.scss +39 -0
  356. data/app/assets/stylesheets/workarea/admin/typography/_spark.scss +26 -0
  357. data/app/assets/stylesheets/workarea/admin/typography/_text.scss +75 -0
  358. data/app/controllers/workarea/admin/activities_controller.rb +9 -0
  359. data/app/controllers/workarea/admin/application_controller.rb +109 -0
  360. data/app/controllers/workarea/admin/bookmarks_controller.rb +17 -0
  361. data/app/controllers/workarea/admin/bulk_action_deletions_controller.rb +38 -0
  362. data/app/controllers/workarea/admin/bulk_action_product_edits_controller.rb +55 -0
  363. data/app/controllers/workarea/admin/bulk_action_sequential_product_edits_controller.rb +126 -0
  364. data/app/controllers/workarea/admin/bulk_actions_controller.rb +43 -0
  365. data/app/controllers/workarea/admin/bulk_variant_saving.rb +31 -0
  366. data/app/controllers/workarea/admin/catalog_categories_controller.rb +62 -0
  367. data/app/controllers/workarea/admin/catalog_product_copies_controller.rb +31 -0
  368. data/app/controllers/workarea/admin/catalog_product_images_controller.rb +67 -0
  369. data/app/controllers/workarea/admin/catalog_products_controller.rb +82 -0
  370. data/app/controllers/workarea/admin/catalog_variants_controller.rb +93 -0
  371. data/app/controllers/workarea/admin/categorizations_controller.rb +37 -0
  372. data/app/controllers/workarea/admin/changesets_controller.rb +28 -0
  373. data/app/controllers/workarea/admin/comments_controller.rb +104 -0
  374. data/app/controllers/workarea/admin/content_assets_controller.rb +66 -0
  375. data/app/controllers/workarea/admin/content_block_drafts_controller.rb +14 -0
  376. data/app/controllers/workarea/admin/content_blocks_controller.rb +105 -0
  377. data/app/controllers/workarea/admin/content_controller.rb +54 -0
  378. data/app/controllers/workarea/admin/content_emails_controller.rb +35 -0
  379. data/app/controllers/workarea/admin/content_pages_controller.rb +59 -0
  380. data/app/controllers/workarea/admin/content_presets_controller.rb +40 -0
  381. data/app/controllers/workarea/admin/create_catalog_categories_controller.rb +135 -0
  382. data/app/controllers/workarea/admin/create_catalog_products_controller.rb +145 -0
  383. data/app/controllers/workarea/admin/create_content_pages_controller.rb +91 -0
  384. data/app/controllers/workarea/admin/create_pricing_discounts_controller.rb +68 -0
  385. data/app/controllers/workarea/admin/create_releases_controller.rb +51 -0
  386. data/app/controllers/workarea/admin/create_users_controller.rb +65 -0
  387. data/app/controllers/workarea/admin/dashboards_controller.rb +51 -0
  388. data/app/controllers/workarea/admin/data_file_exports_controller.rb +35 -0
  389. data/app/controllers/workarea/admin/data_file_imports_controller.rb +35 -0
  390. data/app/controllers/workarea/admin/data_file_tax_imports_controller.rb +38 -0
  391. data/app/controllers/workarea/admin/data_files_controller.rb +13 -0
  392. data/app/controllers/workarea/admin/direct_uploads_controller.rb +36 -0
  393. data/app/controllers/workarea/admin/email_signups_controller.rb +20 -0
  394. data/app/controllers/workarea/admin/featured_products_controller.rb +78 -0
  395. data/app/controllers/workarea/admin/fulfillments_controller.rb +15 -0
  396. data/app/controllers/workarea/admin/guest_browsings_controller.rb +25 -0
  397. data/app/controllers/workarea/admin/help_assets_controller.rb +27 -0
  398. data/app/controllers/workarea/admin/help_authorization.rb +17 -0
  399. data/app/controllers/workarea/admin/help_controller.rb +79 -0
  400. data/app/controllers/workarea/admin/impersonations_controller.rb +34 -0
  401. data/app/controllers/workarea/admin/inventory_skus_controller.rb +79 -0
  402. data/app/controllers/workarea/admin/jump_to_controller.rb +30 -0
  403. data/app/controllers/workarea/admin/navigation_menus_controller.rb +104 -0
  404. data/app/controllers/workarea/admin/navigation_redirects_controller.rb +41 -0
  405. data/app/controllers/workarea/admin/navigation_taxons_controller.rb +104 -0
  406. data/app/controllers/workarea/admin/orders_controller.rb +28 -0
  407. data/app/controllers/workarea/admin/payment_transactions_controller.rb +20 -0
  408. data/app/controllers/workarea/admin/payments_controller.rb +12 -0
  409. data/app/controllers/workarea/admin/prices_controller.rb +69 -0
  410. data/app/controllers/workarea/admin/pricing_discount_code_lists_controller.rb +58 -0
  411. data/app/controllers/workarea/admin/pricing_discounts_controller.rb +56 -0
  412. data/app/controllers/workarea/admin/pricing_overrides_controller.rb +54 -0
  413. data/app/controllers/workarea/admin/pricing_skus_controller.rb +87 -0
  414. data/app/controllers/workarea/admin/product_rules_controller.rb +97 -0
  415. data/app/controllers/workarea/admin/publishing.rb +45 -0
  416. data/app/controllers/workarea/admin/recommendations_controller.rb +36 -0
  417. data/app/controllers/workarea/admin/releasables_controller.rb +16 -0
  418. data/app/controllers/workarea/admin/release_sessions_controller.rb +25 -0
  419. data/app/controllers/workarea/admin/releases_controller.rb +110 -0
  420. data/app/controllers/workarea/admin/reports_controller.rb +115 -0
  421. data/app/controllers/workarea/admin/search_customizations_controller.rb +84 -0
  422. data/app/controllers/workarea/admin/search_settings_controller.rb +27 -0
  423. data/app/controllers/workarea/admin/searches_controller.rb +11 -0
  424. data/app/controllers/workarea/admin/shipping_services_controller.rb +85 -0
  425. data/app/controllers/workarea/admin/shippings_controller.rb +24 -0
  426. data/app/controllers/workarea/admin/style_guides_controller.rb +6 -0
  427. data/app/controllers/workarea/admin/tax_categories_controller.rb +55 -0
  428. data/app/controllers/workarea/admin/tax_rates_controller.rb +14 -0
  429. data/app/controllers/workarea/admin/timeline_controller.rb +10 -0
  430. data/app/controllers/workarea/admin/toolbar_controller.rb +16 -0
  431. data/app/controllers/workarea/admin/trash_controller.rb +50 -0
  432. data/app/controllers/workarea/admin/user_params.rb +16 -0
  433. data/app/controllers/workarea/admin/users_controller.rb +77 -0
  434. data/app/controllers/workarea/admin/visiting.rb +51 -0
  435. data/app/helpers/workarea/admin/activities_helper.rb +70 -0
  436. data/app/helpers/workarea/admin/application_helper.rb +161 -0
  437. data/app/helpers/workarea/admin/bookmarks_helper.rb +15 -0
  438. data/app/helpers/workarea/admin/bulk_actions_helper.rb +9 -0
  439. data/app/helpers/workarea/admin/changesets_helper.rb +14 -0
  440. data/app/helpers/workarea/admin/content_block_icon_helper.rb +22 -0
  441. data/app/helpers/workarea/admin/content_helper.rb +69 -0
  442. data/app/helpers/workarea/admin/credit_cards_helper.rb +26 -0
  443. data/app/helpers/workarea/admin/data_files_helper.rb +9 -0
  444. data/app/helpers/workarea/admin/date_selector_helper.rb +58 -0
  445. data/app/helpers/workarea/admin/facets_helper.rb +15 -0
  446. data/app/helpers/workarea/admin/icons_helper.rb +95 -0
  447. data/app/helpers/workarea/admin/imports_helper.rb +50 -0
  448. data/app/helpers/workarea/admin/insights_helper.rb +42 -0
  449. data/app/helpers/workarea/admin/inventory_helper.rb +9 -0
  450. data/app/helpers/workarea/admin/navigation_helper.rb +70 -0
  451. data/app/helpers/workarea/admin/navigation_menus_helper.rb +12 -0
  452. data/app/helpers/workarea/admin/orders_helper.rb +17 -0
  453. data/app/helpers/workarea/admin/pages_helper.rb +9 -0
  454. data/app/helpers/workarea/admin/price_adjustments_helper.rb +21 -0
  455. data/app/helpers/workarea/admin/pricing_overrides_helper.rb +9 -0
  456. data/app/helpers/workarea/admin/product_rules_helper.rb +50 -0
  457. data/app/helpers/workarea/admin/products_helper.rb +10 -0
  458. data/app/helpers/workarea/admin/releases_helper.rb +221 -0
  459. data/app/helpers/workarea/admin/reports_helper.rb +57 -0
  460. data/app/helpers/workarea/admin/search_customizations_helper.rb +19 -0
  461. data/app/helpers/workarea/admin/settings_helper.rb +18 -0
  462. data/app/helpers/workarea/admin/storefront_helper.rb +13 -0
  463. data/app/helpers/workarea/admin/taxons_helper.rb +65 -0
  464. data/app/mailers/workarea/admin/application_mailer.rb +32 -0
  465. data/app/mailers/workarea/admin/comment_mailer.rb +32 -0
  466. data/app/mailers/workarea/admin/data_file_mailer.rb +68 -0
  467. data/app/mailers/workarea/admin/reports_mailer.rb +18 -0
  468. data/app/mailers/workarea/admin/status_report_mailer.rb +19 -0
  469. data/app/view_models/workarea/admin/activity_view_model.rb +107 -0
  470. data/app/view_models/workarea/admin/alerts_view_model.rb +60 -0
  471. data/app/view_models/workarea/admin/asset_view_model.rb +11 -0
  472. data/app/view_models/workarea/admin/bulk_action_deletion_view_model.rb +13 -0
  473. data/app/view_models/workarea/admin/bulk_action_product_edit_view_model.rb +25 -0
  474. data/app/view_models/workarea/admin/bulk_action_sequential_product_edit_view_model.rb +25 -0
  475. data/app/view_models/workarea/admin/category_view_model.rb +55 -0
  476. data/app/view_models/workarea/admin/changes_view_model.rb +52 -0
  477. data/app/view_models/workarea/admin/changeset_view_model.rb +81 -0
  478. data/app/view_models/workarea/admin/code_list_view_model.rb +25 -0
  479. data/app/view_models/workarea/admin/comment_view_model.rb +18 -0
  480. data/app/view_models/workarea/admin/commentable_view_model.rb +21 -0
  481. data/app/view_models/workarea/admin/content_view_model.rb +142 -0
  482. data/app/view_models/workarea/admin/contentable_view_model.rb +9 -0
  483. data/app/view_models/workarea/admin/dashboards/catalog_view_model.rb +13 -0
  484. data/app/view_models/workarea/admin/dashboards/index_view_model.rb +28 -0
  485. data/app/view_models/workarea/admin/dashboards/insights_graphs.rb +97 -0
  486. data/app/view_models/workarea/admin/dashboards/marketing_view_model.rb +83 -0
  487. data/app/view_models/workarea/admin/dashboards/orders_view_model.rb +20 -0
  488. data/app/view_models/workarea/admin/dashboards/people_view_model.rb +39 -0
  489. data/app/view_models/workarea/admin/dashboards/reports_view_model.rb +105 -0
  490. data/app/view_models/workarea/admin/dashboards/search_view_model.rb +22 -0
  491. data/app/view_models/workarea/admin/dashboards/store_view_model.rb +13 -0
  492. data/app/view_models/workarea/admin/data_file_view_model.rb +28 -0
  493. data/app/view_models/workarea/admin/data_files_view_model.rb +42 -0
  494. data/app/view_models/workarea/admin/discount_rules_view_model.rb +99 -0
  495. data/app/view_models/workarea/admin/discount_search_view_model.rb +17 -0
  496. data/app/view_models/workarea/admin/discount_view_model.rb +127 -0
  497. data/app/view_models/workarea/admin/discounts/buy_some_get_some_view_model.rb +35 -0
  498. data/app/view_models/workarea/admin/discounts/categories.rb +13 -0
  499. data/app/view_models/workarea/admin/discounts/category_view_model.rb +40 -0
  500. data/app/view_models/workarea/admin/discounts/free_gift_view_model.rb +35 -0
  501. data/app/view_models/workarea/admin/discounts/order_total_view_model.rb +32 -0
  502. data/app/view_models/workarea/admin/discounts/product_attribute_view_model.rb +38 -0
  503. data/app/view_models/workarea/admin/discounts/product_view_model.rb +40 -0
  504. data/app/view_models/workarea/admin/discounts/products.rb +13 -0
  505. data/app/view_models/workarea/admin/discounts/quantity_fixed_price_view_model.rb +35 -0
  506. data/app/view_models/workarea/admin/discounts/shipping_view_model.rb +36 -0
  507. data/app/view_models/workarea/admin/featured_products_view_model.rb +20 -0
  508. data/app/view_models/workarea/admin/fulfillment_item_view_model.rb +13 -0
  509. data/app/view_models/workarea/admin/fulfillment_view_model.rb +41 -0
  510. data/app/view_models/workarea/admin/help_search_view_model.rb +17 -0
  511. data/app/view_models/workarea/admin/insight_view_model.rb +37 -0
  512. data/app/view_models/workarea/admin/insights/category_view_model.rb +25 -0
  513. data/app/view_models/workarea/admin/insights/discount_view_model.rb +25 -0
  514. data/app/view_models/workarea/admin/insights/insights_details.rb +83 -0
  515. data/app/view_models/workarea/admin/insights/product_view_model.rb +56 -0
  516. data/app/view_models/workarea/admin/insights/search_view_model.rb +29 -0
  517. data/app/view_models/workarea/admin/inventory_sku_view_model.rb +21 -0
  518. data/app/view_models/workarea/admin/order_item_view_model.rb +29 -0
  519. data/app/view_models/workarea/admin/order_search_view_model.rb +14 -0
  520. data/app/view_models/workarea/admin/order_timeline_view_model.rb +163 -0
  521. data/app/view_models/workarea/admin/order_view_model.rb +114 -0
  522. data/app/view_models/workarea/admin/package_view_model.rb +20 -0
  523. data/app/view_models/workarea/admin/page_view_model.rb +16 -0
  524. data/app/view_models/workarea/admin/payment_view_model.rb +21 -0
  525. data/app/view_models/workarea/admin/pricing_sku_view_model.rb +21 -0
  526. data/app/view_models/workarea/admin/product_images_view_model.rb +9 -0
  527. data/app/view_models/workarea/admin/product_rules_preview_view_model.rb +64 -0
  528. data/app/view_models/workarea/admin/product_view_model.rb +153 -0
  529. data/app/view_models/workarea/admin/promo_code_view_model.rb +7 -0
  530. data/app/view_models/workarea/admin/recommendations_view_model.rb +23 -0
  531. data/app/view_models/workarea/admin/release_calendar_view_model.rb +57 -0
  532. data/app/view_models/workarea/admin/release_event_view_model.rb +56 -0
  533. data/app/view_models/workarea/admin/release_search_view_model.rb +13 -0
  534. data/app/view_models/workarea/admin/release_view_model.rb +44 -0
  535. data/app/view_models/workarea/admin/releases_feed_view_model.rb +58 -0
  536. data/app/view_models/workarea/admin/reports/average_order_value_view_model.rb +14 -0
  537. data/app/view_models/workarea/admin/reports/customers_view_model.rb +18 -0
  538. data/app/view_models/workarea/admin/reports/first_time_vs_returning_sales_view_model.rb +14 -0
  539. data/app/view_models/workarea/admin/reports/group_by_time.rb +38 -0
  540. data/app/view_models/workarea/admin/reports/insights_view_model.rb +32 -0
  541. data/app/view_models/workarea/admin/reports/low_inventory_view_model.rb +20 -0
  542. data/app/view_models/workarea/admin/reports/sales_by_category_view_model.rb +20 -0
  543. data/app/view_models/workarea/admin/reports/sales_by_country_view_model.rb +14 -0
  544. data/app/view_models/workarea/admin/reports/sales_by_discount_view_model.rb +20 -0
  545. data/app/view_models/workarea/admin/reports/sales_by_product_view_model.rb +20 -0
  546. data/app/view_models/workarea/admin/reports/sales_by_sku_view_model.rb +20 -0
  547. data/app/view_models/workarea/admin/reports/sales_by_traffic_referrer_view_model.rb +18 -0
  548. data/app/view_models/workarea/admin/reports/sales_over_time_view_model.rb +14 -0
  549. data/app/view_models/workarea/admin/reports/searches_view_model.rb +11 -0
  550. data/app/view_models/workarea/admin/revenue_view_model.rb +45 -0
  551. data/app/view_models/workarea/admin/search_analysis_view_model.rb +68 -0
  552. data/app/view_models/workarea/admin/search_customization_product_rules_view_model.rb +25 -0
  553. data/app/view_models/workarea/admin/search_customization_view_model.rb +17 -0
  554. data/app/view_models/workarea/admin/search_view_model.rb +91 -0
  555. data/app/view_models/workarea/admin/shipping_view_model.rb +23 -0
  556. data/app/view_models/workarea/admin/tax_category_view_model.rb +13 -0
  557. data/app/view_models/workarea/admin/timeline_view_model.rb +57 -0
  558. data/app/view_models/workarea/admin/transaction_view_model.rb +39 -0
  559. data/app/view_models/workarea/admin/user_search_view_model.rb +13 -0
  560. data/app/view_models/workarea/admin/user_view_model.rb +88 -0
  561. data/app/view_models/workarea/admin/variant_view_model.rb +48 -0
  562. data/app/views/layouts/workarea/admin/application.html.haml +181 -0
  563. data/app/views/layouts/workarea/admin/email.html.haml +185 -0
  564. data/app/views/layouts/workarea/admin/empty.html.haml +38 -0
  565. data/app/views/workarea/admin/activities/_bulk_action_order_export_create.haml +8 -0
  566. data/app/views/workarea/admin/activities/_bulk_action_pricing_discount_code_list_export_create.haml +8 -0
  567. data/app/views/workarea/admin/activities/_bulk_action_user_export_create.haml +8 -0
  568. data/app/views/workarea/admin/activities/_catalog_category_create.html.haml +12 -0
  569. data/app/views/workarea/admin/activities/_catalog_category_destroy.html.haml +10 -0
  570. data/app/views/workarea/admin/activities/_catalog_category_update.html.haml +11 -0
  571. data/app/views/workarea/admin/activities/_catalog_product_create.html.haml +12 -0
  572. data/app/views/workarea/admin/activities/_catalog_product_destroy.html.haml +10 -0
  573. data/app/views/workarea/admin/activities/_catalog_product_image_create.html.haml +10 -0
  574. data/app/views/workarea/admin/activities/_catalog_product_image_destroy.html.haml +11 -0
  575. data/app/views/workarea/admin/activities/_catalog_product_update.html.haml +11 -0
  576. data/app/views/workarea/admin/activities/_catalog_variant_create.html.haml +21 -0
  577. data/app/views/workarea/admin/activities/_catalog_variant_destroy.html.haml +15 -0
  578. data/app/views/workarea/admin/activities/_catalog_variant_update.html.haml +22 -0
  579. data/app/views/workarea/admin/activities/_comment_create.html.haml +12 -0
  580. data/app/views/workarea/admin/activities/_comment_destroy.html.haml +14 -0
  581. data/app/views/workarea/admin/activities/_comment_update.html.haml +12 -0
  582. data/app/views/workarea/admin/activities/_content_asset_create.html.haml +12 -0
  583. data/app/views/workarea/admin/activities/_content_asset_destroy.html.haml +10 -0
  584. data/app/views/workarea/admin/activities/_content_asset_update.html.haml +11 -0
  585. data/app/views/workarea/admin/activities/_content_block_create.html.haml +12 -0
  586. data/app/views/workarea/admin/activities/_content_block_destroy.html.haml +14 -0
  587. data/app/views/workarea/admin/activities/_content_block_update.html.haml +23 -0
  588. data/app/views/workarea/admin/activities/_content_email_update.html.haml +10 -0
  589. data/app/views/workarea/admin/activities/_content_page_create.html.haml +12 -0
  590. data/app/views/workarea/admin/activities/_content_page_destroy.html.haml +10 -0
  591. data/app/views/workarea/admin/activities/_content_page_update.html.haml +11 -0
  592. data/app/views/workarea/admin/activities/_content_update.html.haml +12 -0
  593. data/app/views/workarea/admin/activities/_help_article_create.html.haml +12 -0
  594. data/app/views/workarea/admin/activities/_help_article_destroy.html.haml +10 -0
  595. data/app/views/workarea/admin/activities/_help_article_update.html.haml +10 -0
  596. data/app/views/workarea/admin/activities/_help_asset_create.html.haml +8 -0
  597. data/app/views/workarea/admin/activities/_help_asset_destroy.html.haml +10 -0
  598. data/app/views/workarea/admin/activities/_import_catalog_create.html.haml +9 -0
  599. data/app/views/workarea/admin/activities/_import_redirect_create.html.haml +9 -0
  600. data/app/views/workarea/admin/activities/_import_tax_create.html.haml +9 -0
  601. data/app/views/workarea/admin/activities/_inventory_sku_create.html.haml +12 -0
  602. data/app/views/workarea/admin/activities/_inventory_sku_destroy.html.haml +10 -0
  603. data/app/views/workarea/admin/activities/_inventory_sku_update.html.haml +10 -0
  604. data/app/views/workarea/admin/activities/_navigation_menu_create.html.haml +12 -0
  605. data/app/views/workarea/admin/activities/_navigation_menu_destroy.html.haml +10 -0
  606. data/app/views/workarea/admin/activities/_navigation_menu_update.html.haml +11 -0
  607. data/app/views/workarea/admin/activities/_navigation_redirect_create.html.haml +9 -0
  608. data/app/views/workarea/admin/activities/_navigation_redirect_destroy.html.haml +10 -0
  609. data/app/views/workarea/admin/activities/_navigation_taxon_create.html.haml +12 -0
  610. data/app/views/workarea/admin/activities/_navigation_taxon_destroy.html.haml +10 -0
  611. data/app/views/workarea/admin/activities/_navigation_taxon_update.html.haml +10 -0
  612. data/app/views/workarea/admin/activities/_pricing_discount_code_list_create.html.haml +12 -0
  613. data/app/views/workarea/admin/activities/_pricing_discount_code_list_destroy.html.haml +10 -0
  614. data/app/views/workarea/admin/activities/_pricing_discount_code_list_update.html.haml +10 -0
  615. data/app/views/workarea/admin/activities/_pricing_discount_create.html.haml +12 -0
  616. data/app/views/workarea/admin/activities/_pricing_discount_destroy.html.haml +10 -0
  617. data/app/views/workarea/admin/activities/_pricing_discount_update.html.haml +11 -0
  618. data/app/views/workarea/admin/activities/_pricing_sku_create.html.haml +12 -0
  619. data/app/views/workarea/admin/activities/_pricing_sku_update.html.haml +10 -0
  620. data/app/views/workarea/admin/activities/_product_rule_create.html.haml +13 -0
  621. data/app/views/workarea/admin/activities/_product_rule_destroy.html.haml +13 -0
  622. data/app/views/workarea/admin/activities/_product_rule_update.html.haml +13 -0
  623. data/app/views/workarea/admin/activities/_release_create.html.haml +12 -0
  624. data/app/views/workarea/admin/activities/_release_destroy.html.haml +10 -0
  625. data/app/views/workarea/admin/activities/_release_info.html.haml +6 -0
  626. data/app/views/workarea/admin/activities/_release_update.html.haml +15 -0
  627. data/app/views/workarea/admin/activities/_search_customization_create.html.haml +12 -0
  628. data/app/views/workarea/admin/activities/_search_customization_destroy.html.haml +14 -0
  629. data/app/views/workarea/admin/activities/_search_customization_update.html.haml +11 -0
  630. data/app/views/workarea/admin/activities/_search_settings_update.html.haml +9 -0
  631. data/app/views/workarea/admin/activities/_shipping_service_create.html.haml +12 -0
  632. data/app/views/workarea/admin/activities/_shipping_service_destroy.html.haml +10 -0
  633. data/app/views/workarea/admin/activities/_shipping_service_update.html.haml +10 -0
  634. data/app/views/workarea/admin/activities/_tax_category_create.html.haml +12 -0
  635. data/app/views/workarea/admin/activities/_tax_category_destroy.html.haml +10 -0
  636. data/app/views/workarea/admin/activities/_tax_category_update.html.haml +10 -0
  637. data/app/views/workarea/admin/activities/_tax_rate_create.html.haml +12 -0
  638. data/app/views/workarea/admin/activities/_tax_rate_destroy.html.haml +10 -0
  639. data/app/views/workarea/admin/activities/_tax_rate_update.html.haml +14 -0
  640. data/app/views/workarea/admin/activities/_user_update.html.haml +10 -0
  641. data/app/views/workarea/admin/activities/show.html.haml +43 -0
  642. data/app/views/workarea/admin/bulk_action_deletions/_form.html.haml +8 -0
  643. data/app/views/workarea/admin/bulk_action_deletions/edit.html.haml +31 -0
  644. data/app/views/workarea/admin/bulk_action_product_edits/edit.html.haml +266 -0
  645. data/app/views/workarea/admin/bulk_action_product_edits/review.html.haml +113 -0
  646. data/app/views/workarea/admin/bulk_action_sequential_product_edits/product.html.haml +254 -0
  647. data/app/views/workarea/admin/bulk_action_sequential_product_edits/publishing.html.haml +29 -0
  648. data/app/views/workarea/admin/bulk_actions/selected.html.haml +16 -0
  649. data/app/views/workarea/admin/catalog_categories/_aux_navigation.html.haml +2 -0
  650. data/app/views/workarea/admin/catalog_categories/_cards.html.haml +119 -0
  651. data/app/views/workarea/admin/catalog_categories/_summary.html.haml +14 -0
  652. data/app/views/workarea/admin/catalog_categories/edit.html.haml +85 -0
  653. data/app/views/workarea/admin/catalog_categories/index.html.haml +88 -0
  654. data/app/views/workarea/admin/catalog_categories/index.json.jbuilder +9 -0
  655. data/app/views/workarea/admin/catalog_categories/insights.html.haml +71 -0
  656. data/app/views/workarea/admin/catalog_categories/show.html.haml +23 -0
  657. data/app/views/workarea/admin/catalog_product_copies/new.html.haml +47 -0
  658. data/app/views/workarea/admin/catalog_product_images/edit.html.haml +52 -0
  659. data/app/views/workarea/admin/catalog_product_images/index.html.haml +75 -0
  660. data/app/views/workarea/admin/catalog_product_images/options.json.jbuilder +4 -0
  661. data/app/views/workarea/admin/catalog_products/_aux_navigation.html.haml +3 -0
  662. data/app/views/workarea/admin/catalog_products/_cards.html.haml +265 -0
  663. data/app/views/workarea/admin/catalog_products/_summary.html.haml +19 -0
  664. data/app/views/workarea/admin/catalog_products/content.html.haml +40 -0
  665. data/app/views/workarea/admin/catalog_products/edit.html.haml +170 -0
  666. data/app/views/workarea/admin/catalog_products/index.html.haml +120 -0
  667. data/app/views/workarea/admin/catalog_products/index.json.jbuilder +9 -0
  668. data/app/views/workarea/admin/catalog_products/insights.html.haml +89 -0
  669. data/app/views/workarea/admin/catalog_products/show.html.haml +24 -0
  670. data/app/views/workarea/admin/catalog_variants/edit.html.haml +76 -0
  671. data/app/views/workarea/admin/catalog_variants/index.html.haml +58 -0
  672. data/app/views/workarea/admin/catalog_variants/index.json.jbuilder +4 -0
  673. data/app/views/workarea/admin/catalog_variants/new.html.haml +68 -0
  674. data/app/views/workarea/admin/categorizations/index.html.haml +75 -0
  675. data/app/views/workarea/admin/categorizations/index.json.jbuilder +9 -0
  676. data/app/views/workarea/admin/changesets/fields/_category_id.html.haml +4 -0
  677. data/app/views/workarea/admin/changesets/fields/_category_ids.html.haml +4 -0
  678. data/app/views/workarea/admin/changesets/fields/_compatible_discount_ids.html.haml +4 -0
  679. data/app/views/workarea/admin/changesets/fields/_data.html.haml +2 -0
  680. data/app/views/workarea/admin/changesets/fields/_generic.html.haml +4 -0
  681. data/app/views/workarea/admin/changesets/fields/_packaged_product_ids.html.haml +4 -0
  682. data/app/views/workarea/admin/changesets/fields/_product_id.html.haml +4 -0
  683. data/app/views/workarea/admin/changesets/fields/_product_ids.html.haml +4 -0
  684. data/app/views/workarea/admin/changesets/fields/_shipping_service_id.html.haml +4 -0
  685. data/app/views/workarea/admin/changesets/fields/data/_category.html.haml +4 -0
  686. data/app/views/workarea/admin/changesets/fields/data/_generic.html.haml +4 -0
  687. data/app/views/workarea/admin/changesets/fields/data/_products.html.haml +4 -0
  688. data/app/views/workarea/admin/changesets/index.html.haml +42 -0
  689. data/app/views/workarea/admin/comment_mailer/notify.html.haml +36 -0
  690. data/app/views/workarea/admin/comments/_card.html.haml +26 -0
  691. data/app/views/workarea/admin/comments/edit.html.haml +27 -0
  692. data/app/views/workarea/admin/comments/index.html.haml +64 -0
  693. data/app/views/workarea/admin/content/_aux_navigation.html.haml +4 -0
  694. data/app/views/workarea/admin/content/_card.html.haml +24 -0
  695. data/app/views/workarea/admin/content/_cards.html.haml +9 -0
  696. data/app/views/workarea/admin/content/_edit.html.haml +75 -0
  697. data/app/views/workarea/admin/content/_form.html.haml +51 -0
  698. data/app/views/workarea/admin/content/_summary.html.haml +10 -0
  699. data/app/views/workarea/admin/content/advanced.html.haml +65 -0
  700. data/app/views/workarea/admin/content/edit.html.haml +25 -0
  701. data/app/views/workarea/admin/content/index.html.haml +32 -0
  702. data/app/views/workarea/admin/content/preview.html.haml +14 -0
  703. data/app/views/workarea/admin/content/show.html.haml +27 -0
  704. data/app/views/workarea/admin/content_assets/_cards.html.haml +49 -0
  705. data/app/views/workarea/admin/content_assets/_summary.html.haml +9 -0
  706. data/app/views/workarea/admin/content_assets/edit.html.haml +56 -0
  707. data/app/views/workarea/admin/content_assets/index.html.haml +95 -0
  708. data/app/views/workarea/admin/content_assets/insert.html.haml +46 -0
  709. data/app/views/workarea/admin/content_assets/new.html.haml +36 -0
  710. data/app/views/workarea/admin/content_assets/show.html.haml +21 -0
  711. data/app/views/workarea/admin/content_blocks/_asset.html.haml +24 -0
  712. data/app/views/workarea/admin/content_blocks/_boolean.html.haml +14 -0
  713. data/app/views/workarea/admin/content_blocks/_breakpoints.html.haml +17 -0
  714. data/app/views/workarea/admin/content_blocks/_category.html.haml +14 -0
  715. data/app/views/workarea/admin/content_blocks/_color.html.haml +19 -0
  716. data/app/views/workarea/admin/content_blocks/_integer.html.haml +14 -0
  717. data/app/views/workarea/admin/content_blocks/_options.html.haml +14 -0
  718. data/app/views/workarea/admin/content_blocks/_products.html.haml +14 -0
  719. data/app/views/workarea/admin/content_blocks/_range.html.haml +16 -0
  720. data/app/views/workarea/admin/content_blocks/_string.html.haml +17 -0
  721. data/app/views/workarea/admin/content_blocks/_taxonomy.html.haml +14 -0
  722. data/app/views/workarea/admin/content_blocks/_text.html.haml +14 -0
  723. data/app/views/workarea/admin/content_blocks/_url.html.haml +14 -0
  724. data/app/views/workarea/admin/content_blocks/index.html.haml +31 -0
  725. data/app/views/workarea/admin/content_emails/edit.html.haml +22 -0
  726. data/app/views/workarea/admin/content_emails/index.html.haml +26 -0
  727. data/app/views/workarea/admin/content_pages/_aux_navigation.html.haml +2 -0
  728. data/app/views/workarea/admin/content_pages/_cards.html.haml +40 -0
  729. data/app/views/workarea/admin/content_pages/_summary.html.haml +14 -0
  730. data/app/views/workarea/admin/content_pages/edit.html.haml +76 -0
  731. data/app/views/workarea/admin/content_pages/index.html.haml +81 -0
  732. data/app/views/workarea/admin/content_pages/index.json.jbuilder +7 -0
  733. data/app/views/workarea/admin/content_pages/show.html.haml +23 -0
  734. data/app/views/workarea/admin/content_presets/new.html.haml +7 -0
  735. data/app/views/workarea/admin/create_catalog_categories/content.html.haml +31 -0
  736. data/app/views/workarea/admin/create_catalog_categories/featured_products.html.haml +75 -0
  737. data/app/views/workarea/admin/create_catalog_categories/navigation.html.haml +46 -0
  738. data/app/views/workarea/admin/create_catalog_categories/products.html.haml +64 -0
  739. data/app/views/workarea/admin/create_catalog_categories/publish.html.haml +36 -0
  740. data/app/views/workarea/admin/create_catalog_categories/rules.html.haml +68 -0
  741. data/app/views/workarea/admin/create_catalog_categories/setup.html.haml +51 -0
  742. data/app/views/workarea/admin/create_catalog_categories/taxonomy.html.haml +35 -0
  743. data/app/views/workarea/admin/create_catalog_products/categorization.html.haml +68 -0
  744. data/app/views/workarea/admin/create_catalog_products/content.html.haml +58 -0
  745. data/app/views/workarea/admin/create_catalog_products/details.html.haml +90 -0
  746. data/app/views/workarea/admin/create_catalog_products/images.html.haml +60 -0
  747. data/app/views/workarea/admin/create_catalog_products/publish.html.haml +45 -0
  748. data/app/views/workarea/admin/create_catalog_products/setup.html.haml +66 -0
  749. data/app/views/workarea/admin/create_catalog_products/variants.html.haml +93 -0
  750. data/app/views/workarea/admin/create_content_pages/content.html.haml +30 -0
  751. data/app/views/workarea/admin/create_content_pages/navigation.html.haml +45 -0
  752. data/app/views/workarea/admin/create_content_pages/publish.html.haml +35 -0
  753. data/app/views/workarea/admin/create_content_pages/setup.html.haml +53 -0
  754. data/app/views/workarea/admin/create_content_pages/taxonomy.html.haml +35 -0
  755. data/app/views/workarea/admin/create_pricing_discounts/details.html.haml +47 -0
  756. data/app/views/workarea/admin/create_pricing_discounts/publish.html.haml +31 -0
  757. data/app/views/workarea/admin/create_pricing_discounts/rules.html.haml +85 -0
  758. data/app/views/workarea/admin/create_pricing_discounts/setup.html.haml +100 -0
  759. data/app/views/workarea/admin/create_releases/plan.html.haml +83 -0
  760. data/app/views/workarea/admin/create_releases/setup.html.haml +58 -0
  761. data/app/views/workarea/admin/create_users/admin.html.haml +157 -0
  762. data/app/views/workarea/admin/create_users/customer.html.haml +76 -0
  763. data/app/views/workarea/admin/create_users/index.html.haml +38 -0
  764. data/app/views/workarea/admin/dashboards/catalog.html.haml +19 -0
  765. data/app/views/workarea/admin/dashboards/index.html.haml +177 -0
  766. data/app/views/workarea/admin/dashboards/marketing.html.haml +64 -0
  767. data/app/views/workarea/admin/dashboards/orders.html.haml +87 -0
  768. data/app/views/workarea/admin/dashboards/people.html.haml +70 -0
  769. data/app/views/workarea/admin/dashboards/reports.html.haml +220 -0
  770. data/app/views/workarea/admin/dashboards/search.html.haml +48 -0
  771. data/app/views/workarea/admin/dashboards/settings.html.haml +29 -0
  772. data/app/views/workarea/admin/dashboards/store.html.haml +21 -0
  773. data/app/views/workarea/admin/data_file_exports/new.html.haml +47 -0
  774. data/app/views/workarea/admin/data_file_imports/_csv_notes.html.haml +1 -0
  775. data/app/views/workarea/admin/data_file_imports/new.html.haml +47 -0
  776. data/app/views/workarea/admin/data_file_mailer/export.html.haml +3 -0
  777. data/app/views/workarea/admin/data_file_mailer/import.html.haml +11 -0
  778. data/app/views/workarea/admin/data_file_mailer/import_error.html.haml +13 -0
  779. data/app/views/workarea/admin/data_file_mailer/import_failure.html.haml +22 -0
  780. data/app/views/workarea/admin/data_file_tax_imports/new.html.haml +59 -0
  781. data/app/views/workarea/admin/data_files/errors.html.haml +38 -0
  782. data/app/views/workarea/admin/data_files/index.html.haml +68 -0
  783. data/app/views/workarea/admin/direct_uploads/product_images.html.haml +19 -0
  784. data/app/views/workarea/admin/email_signups/_summary.html.haml +6 -0
  785. data/app/views/workarea/admin/email_signups/index.html.haml +47 -0
  786. data/app/views/workarea/admin/facets/_applied.html.haml +17 -0
  787. data/app/views/workarea/admin/facets/_price_inputs.html.haml +23 -0
  788. data/app/views/workarea/admin/facets/_terms.html.haml +17 -0
  789. data/app/views/workarea/admin/featured_products/_release_preview_warning.html.haml +4 -0
  790. data/app/views/workarea/admin/featured_products/_selected.html.haml +10 -0
  791. data/app/views/workarea/admin/featured_products/_unselected.html.haml +8 -0
  792. data/app/views/workarea/admin/featured_products/edit.html.haml +46 -0
  793. data/app/views/workarea/admin/featured_products/select.html.haml +72 -0
  794. data/app/views/workarea/admin/fulfillments/show.html.haml +100 -0
  795. data/app/views/workarea/admin/help/edit.html.haml +53 -0
  796. data/app/views/workarea/admin/help/index.html.haml +78 -0
  797. data/app/views/workarea/admin/help/new.html.haml +53 -0
  798. data/app/views/workarea/admin/help/show.html.haml +23 -0
  799. data/app/views/workarea/admin/help/takeover.html.haml +35 -0
  800. data/app/views/workarea/admin/help_assets/index.html.haml +36 -0
  801. data/app/views/workarea/admin/insights/_best_customers.html.haml +20 -0
  802. data/app/views/workarea/admin/insights/_best_full_price_customers.html.haml +20 -0
  803. data/app/views/workarea/admin/insights/_cold_products.html.haml +29 -0
  804. data/app/views/workarea/admin/insights/_cold_searches.html.haml +25 -0
  805. data/app/views/workarea/admin/insights/_customer_acquisition.html.haml +11 -0
  806. data/app/views/workarea/admin/insights/_customers_at_risk.html.haml +20 -0
  807. data/app/views/workarea/admin/insights/_hot_products.html.haml +29 -0
  808. data/app/views/workarea/admin/insights/_hot_searches.html.haml +27 -0
  809. data/app/views/workarea/admin/insights/_low_aov_customers.html.haml +20 -0
  810. data/app/views/workarea/admin/insights/_most_discount_given.html.haml +24 -0
  811. data/app/views/workarea/admin/insights/_most_discounted_products.html.haml +32 -0
  812. data/app/views/workarea/admin/insights/_new_products.html.haml +20 -0
  813. data/app/views/workarea/admin/insights/_non_sellers.html.haml +23 -0
  814. data/app/views/workarea/admin/insights/_popular_searches.html.haml +21 -0
  815. data/app/views/workarea/admin/insights/_popular_searches_without_results.html.haml +19 -0
  816. data/app/views/workarea/admin/insights/_products_purchased_together.html.haml +26 -0
  817. data/app/views/workarea/admin/insights/_products_to_improve.html.haml +26 -0
  818. data/app/views/workarea/admin/insights/_promising_products.html.haml +26 -0
  819. data/app/views/workarea/admin/insights/_release_reminder.html.haml +36 -0
  820. data/app/views/workarea/admin/insights/_repeat_purchase_rate.html.haml +20 -0
  821. data/app/views/workarea/admin/insights/_sales_by_navigation.html.haml +22 -0
  822. data/app/views/workarea/admin/insights/_searches_to_improve.html.haml +25 -0
  823. data/app/views/workarea/admin/insights/_star_products.html.haml +26 -0
  824. data/app/views/workarea/admin/insights/_star_searches.html.haml +21 -0
  825. data/app/views/workarea/admin/insights/_top_categories.html.haml +22 -0
  826. data/app/views/workarea/admin/insights/_top_discounts.html.haml +24 -0
  827. data/app/views/workarea/admin/insights/_top_products.html.haml +25 -0
  828. data/app/views/workarea/admin/insights/_trending_products.html.haml +24 -0
  829. data/app/views/workarea/admin/insights/_trending_searches.html.haml +21 -0
  830. data/app/views/workarea/admin/insights/_upcoming_releases.html.haml +36 -0
  831. data/app/views/workarea/admin/inventory_skus/_aux_navigation.html.haml +4 -0
  832. data/app/views/workarea/admin/inventory_skus/_cards.html.haml +42 -0
  833. data/app/views/workarea/admin/inventory_skus/_summary.html.haml +6 -0
  834. data/app/views/workarea/admin/inventory_skus/edit.html.haml +71 -0
  835. data/app/views/workarea/admin/inventory_skus/index.html.haml +81 -0
  836. data/app/views/workarea/admin/inventory_skus/new.html.haml +52 -0
  837. data/app/views/workarea/admin/inventory_skus/show.html.haml +17 -0
  838. data/app/views/workarea/admin/navigation_menus/_summary.html.haml +10 -0
  839. data/app/views/workarea/admin/navigation_menus/edit.html.haml +42 -0
  840. data/app/views/workarea/admin/navigation_menus/index.html.haml +57 -0
  841. data/app/views/workarea/admin/navigation_menus/new.html.haml +44 -0
  842. data/app/views/workarea/admin/navigation_redirects/_summary.html.haml +7 -0
  843. data/app/views/workarea/admin/navigation_redirects/index.html.haml +72 -0
  844. data/app/views/workarea/admin/navigation_taxons/_insert.html.haml +53 -0
  845. data/app/views/workarea/admin/navigation_taxons/_select.html.haml +21 -0
  846. data/app/views/workarea/admin/navigation_taxons/_taxon.html.haml +34 -0
  847. data/app/views/workarea/admin/navigation_taxons/children.html.haml +19 -0
  848. data/app/views/workarea/admin/navigation_taxons/edit.html.haml +52 -0
  849. data/app/views/workarea/admin/navigation_taxons/index.html.haml +38 -0
  850. data/app/views/workarea/admin/navigation_taxons/new.html.haml +43 -0
  851. data/app/views/workarea/admin/orders/_aux_navigation.html.haml +4 -0
  852. data/app/views/workarea/admin/orders/_cards.html.haml +181 -0
  853. data/app/views/workarea/admin/orders/_summary.html.haml +11 -0
  854. data/app/views/workarea/admin/orders/attributes.html.haml +123 -0
  855. data/app/views/workarea/admin/orders/index.html.haml +128 -0
  856. data/app/views/workarea/admin/orders/show.html.haml +24 -0
  857. data/app/views/workarea/admin/orders/tenders/_credit_card.html.haml +4 -0
  858. data/app/views/workarea/admin/orders/tenders/_missing.html.haml +1 -0
  859. data/app/views/workarea/admin/orders/tenders/_store_credit.html.haml +4 -0
  860. data/app/views/workarea/admin/orders/timeline.html.haml +33 -0
  861. data/app/views/workarea/admin/orders/timeline/_authorize.html.haml +12 -0
  862. data/app/views/workarea/admin/orders/timeline/_canceled.html.haml +8 -0
  863. data/app/views/workarea/admin/orders/timeline/_canceled_fulfillment.html.haml +8 -0
  864. data/app/views/workarea/admin/orders/timeline/_capture.html.haml +12 -0
  865. data/app/views/workarea/admin/orders/timeline/_comment.html.haml +9 -0
  866. data/app/views/workarea/admin/orders/timeline/_copied.html.haml +9 -0
  867. data/app/views/workarea/admin/orders/timeline/_created.html.haml +8 -0
  868. data/app/views/workarea/admin/orders/timeline/_placed.html.haml +8 -0
  869. data/app/views/workarea/admin/orders/timeline/_price_overridden.html.haml +8 -0
  870. data/app/views/workarea/admin/orders/timeline/_refund.html.haml +12 -0
  871. data/app/views/workarea/admin/orders/timeline/_shipped.html.haml +8 -0
  872. data/app/views/workarea/admin/payment_transactions/_aux_navigation.html.haml +2 -0
  873. data/app/views/workarea/admin/payment_transactions/_summary.html.haml +6 -0
  874. data/app/views/workarea/admin/payment_transactions/index.html.haml +78 -0
  875. data/app/views/workarea/admin/payment_transactions/show.html.haml +80 -0
  876. data/app/views/workarea/admin/payments/show.html.haml +72 -0
  877. data/app/views/workarea/admin/prices/edit.html.haml +70 -0
  878. data/app/views/workarea/admin/prices/index.html.haml +51 -0
  879. data/app/views/workarea/admin/prices/new.html.haml +65 -0
  880. data/app/views/workarea/admin/pricing/show.html.haml +99 -0
  881. data/app/views/workarea/admin/pricing_discount_code_lists/_cards.html.haml +67 -0
  882. data/app/views/workarea/admin/pricing_discount_code_lists/_summary.html.haml +6 -0
  883. data/app/views/workarea/admin/pricing_discount_code_lists/edit.html.haml +34 -0
  884. data/app/views/workarea/admin/pricing_discount_code_lists/index.html.haml +53 -0
  885. data/app/views/workarea/admin/pricing_discount_code_lists/new.html.haml +40 -0
  886. data/app/views/workarea/admin/pricing_discount_code_lists/promo_codes.html.haml +50 -0
  887. data/app/views/workarea/admin/pricing_discount_code_lists/show.html.haml +31 -0
  888. data/app/views/workarea/admin/pricing_discounts/_aux_navigation.html.haml +3 -0
  889. data/app/views/workarea/admin/pricing_discounts/_cards.html.haml +122 -0
  890. data/app/views/workarea/admin/pricing_discounts/_summary.html.haml +10 -0
  891. data/app/views/workarea/admin/pricing_discounts/conditions/_item_quantity.html.haml +8 -0
  892. data/app/views/workarea/admin/pricing_discounts/conditions/_order_total.html.haml +10 -0
  893. data/app/views/workarea/admin/pricing_discounts/conditions/_promo_code.html.haml +17 -0
  894. data/app/views/workarea/admin/pricing_discounts/conditions/_user_tags.html.haml +13 -0
  895. data/app/views/workarea/admin/pricing_discounts/edit.html.haml +57 -0
  896. data/app/views/workarea/admin/pricing_discounts/index.html.haml +85 -0
  897. data/app/views/workarea/admin/pricing_discounts/index.json.jbuilder +8 -0
  898. data/app/views/workarea/admin/pricing_discounts/insights.html.haml +60 -0
  899. data/app/views/workarea/admin/pricing_discounts/properties/_buy_some_get_some.html.haml +39 -0
  900. data/app/views/workarea/admin/pricing_discounts/properties/_category.html.haml +22 -0
  901. data/app/views/workarea/admin/pricing_discounts/properties/_free_gift.html.haml +28 -0
  902. data/app/views/workarea/admin/pricing_discounts/properties/_order_total.html.haml +21 -0
  903. data/app/views/workarea/admin/pricing_discounts/properties/_product.html.haml +23 -0
  904. data/app/views/workarea/admin/pricing_discounts/properties/_product_attribute.html.haml +32 -0
  905. data/app/views/workarea/admin/pricing_discounts/properties/_quantity_fixed_price.html.haml +36 -0
  906. data/app/views/workarea/admin/pricing_discounts/properties/_shipping.html.haml +21 -0
  907. data/app/views/workarea/admin/pricing_discounts/rules.html.haml +64 -0
  908. data/app/views/workarea/admin/pricing_discounts/show.html.haml +39 -0
  909. data/app/views/workarea/admin/pricing_overrides/edit.html.haml +115 -0
  910. data/app/views/workarea/admin/pricing_skus/_aux_navigation.html.haml +4 -0
  911. data/app/views/workarea/admin/pricing_skus/_cards.html.haml +67 -0
  912. data/app/views/workarea/admin/pricing_skus/_summary.html.haml +10 -0
  913. data/app/views/workarea/admin/pricing_skus/edit.html.haml +65 -0
  914. data/app/views/workarea/admin/pricing_skus/index.html.haml +81 -0
  915. data/app/views/workarea/admin/pricing_skus/new.html.haml +78 -0
  916. data/app/views/workarea/admin/pricing_skus/show.html.haml +16 -0
  917. data/app/views/workarea/admin/product_rules/_card.html.haml +23 -0
  918. data/app/views/workarea/admin/product_rules/_form.html.haml +12 -0
  919. data/app/views/workarea/admin/product_rules/_preview.html.haml +28 -0
  920. data/app/views/workarea/admin/product_rules/fields/_available_inventory.html.haml +7 -0
  921. data/app/views/workarea/admin/product_rules/fields/_category.html.haml +5 -0
  922. data/app/views/workarea/admin/product_rules/fields/_created_at.html.haml +4 -0
  923. data/app/views/workarea/admin/product_rules/fields/_excluded_products.html.haml +5 -0
  924. data/app/views/workarea/admin/product_rules/fields/_generic.html.haml +8 -0
  925. data/app/views/workarea/admin/product_rules/fields/_on_sale.html.haml +7 -0
  926. data/app/views/workarea/admin/product_rules/fields/_price.html.haml +5 -0
  927. data/app/views/workarea/admin/product_rules/fields/_search.html.haml +31 -0
  928. data/app/views/workarea/admin/product_rules/index.html.haml +61 -0
  929. data/app/views/workarea/admin/product_rules/preview.html.haml +1 -0
  930. data/app/views/workarea/admin/product_rules/summaries/_available_inventory.html.haml +1 -0
  931. data/app/views/workarea/admin/product_rules/summaries/_category.html.haml +1 -0
  932. data/app/views/workarea/admin/product_rules/summaries/_created_at.html.haml +1 -0
  933. data/app/views/workarea/admin/product_rules/summaries/_excluded_products.html.haml +4 -0
  934. data/app/views/workarea/admin/product_rules/summaries/_generic.html.haml +3 -0
  935. data/app/views/workarea/admin/product_rules/summaries/_on_sale.html.haml +5 -0
  936. data/app/views/workarea/admin/product_rules/summaries/_price.html.haml +1 -0
  937. data/app/views/workarea/admin/product_rules/summaries/_search.html.haml +1 -0
  938. data/app/views/workarea/admin/recommendations/edit.html.haml +42 -0
  939. data/app/views/workarea/admin/releasables/index.html.haml +72 -0
  940. data/app/views/workarea/admin/releases/_cards.html.haml +103 -0
  941. data/app/views/workarea/admin/releases/_publish.html.haml +31 -0
  942. data/app/views/workarea/admin/releases/_select.html.haml +13 -0
  943. data/app/views/workarea/admin/releases/_summary.html.haml +6 -0
  944. data/app/views/workarea/admin/releases/calendar.html.haml +54 -0
  945. data/app/views/workarea/admin/releases/edit.html.haml +83 -0
  946. data/app/views/workarea/admin/releases/index.html.haml +100 -0
  947. data/app/views/workarea/admin/releases/new.html.haml +6 -0
  948. data/app/views/workarea/admin/releases/show.html.haml +65 -0
  949. data/app/views/workarea/admin/reports/_export.html.haml +12 -0
  950. data/app/views/workarea/admin/reports/_group_by_time.html.haml +6 -0
  951. data/app/views/workarea/admin/reports/average_order_value.html.haml +39 -0
  952. data/app/views/workarea/admin/reports/customers.html.haml +49 -0
  953. data/app/views/workarea/admin/reports/first_time_vs_returning_sales.html.haml +41 -0
  954. data/app/views/workarea/admin/reports/insights.html.haml +16 -0
  955. data/app/views/workarea/admin/reports/low_inventory.html.haml +35 -0
  956. data/app/views/workarea/admin/reports/reference.html.haml +88 -0
  957. data/app/views/workarea/admin/reports/sales_by_category.html.haml +42 -0
  958. data/app/views/workarea/admin/reports/sales_by_country.html.haml +42 -0
  959. data/app/views/workarea/admin/reports/sales_by_discount.html.haml +38 -0
  960. data/app/views/workarea/admin/reports/sales_by_product.html.haml +42 -0
  961. data/app/views/workarea/admin/reports/sales_by_sku.html.haml +42 -0
  962. data/app/views/workarea/admin/reports/sales_by_traffic_referrer.html.haml +42 -0
  963. data/app/views/workarea/admin/reports/sales_over_time.html.haml +49 -0
  964. data/app/views/workarea/admin/reports/searches.html.haml +45 -0
  965. data/app/views/workarea/admin/reports_mailer/export.html.haml +3 -0
  966. data/app/views/workarea/admin/search_customizations/_aux_navigation.html.haml +2 -0
  967. data/app/views/workarea/admin/search_customizations/_cards.html.haml +130 -0
  968. data/app/views/workarea/admin/search_customizations/analyze.html.haml +119 -0
  969. data/app/views/workarea/admin/search_customizations/edit.html.haml +74 -0
  970. data/app/views/workarea/admin/search_customizations/index.html.haml +78 -0
  971. data/app/views/workarea/admin/search_customizations/index.json.jbuilder +4 -0
  972. data/app/views/workarea/admin/search_customizations/insights.html.haml +71 -0
  973. data/app/views/workarea/admin/search_customizations/show.html.haml +19 -0
  974. data/app/views/workarea/admin/search_settings/show.html.haml +55 -0
  975. data/app/views/workarea/admin/searches/show.html.haml +54 -0
  976. data/app/views/workarea/admin/shared/_activate_select.html.haml +6 -0
  977. data/app/views/workarea/admin/shared/_bulk_actions.html.haml +18 -0
  978. data/app/views/workarea/admin/shared/_creation_date.html.haml +21 -0
  979. data/app/views/workarea/admin/shared/_csv_formatting_tooltip.html.haml +9 -0
  980. data/app/views/workarea/admin/shared/_date_selector.html.haml +22 -0
  981. data/app/views/workarea/admin/shared/_message.html.haml +4 -0
  982. data/app/views/workarea/admin/shared/_pagination.html.haml +38 -0
  983. data/app/views/workarea/admin/shared/_primary_nav.html.haml +113 -0
  984. data/app/views/workarea/admin/shared/_publishing_select.html.haml +6 -0
  985. data/app/views/workarea/admin/shared/_release_slug_tooltip.html.haml +7 -0
  986. data/app/views/workarea/admin/shared/_summary.html.haml +9 -0
  987. data/app/views/workarea/admin/shared/_toggle_button.html.haml +7 -0
  988. data/app/views/workarea/admin/shared/values.json.jbuilder +4 -0
  989. data/app/views/workarea/admin/shipping_services/edit.html.haml +69 -0
  990. data/app/views/workarea/admin/shipping_services/index.html.haml +61 -0
  991. data/app/views/workarea/admin/shipping_services/new.html.haml +57 -0
  992. data/app/views/workarea/admin/shippings/index.html.haml +92 -0
  993. data/app/views/workarea/admin/status_report_mailer/report.html.haml +94 -0
  994. data/app/views/workarea/admin/style_guides/_navigation.html.haml +10 -0
  995. data/app/views/workarea/admin/style_guides/base/_forms.html.haml +77 -0
  996. data/app/views/workarea/admin/style_guides/base/_tables.html.haml +72 -0
  997. data/app/views/workarea/admin/style_guides/components/_activity.html.haml +25 -0
  998. data/app/views/workarea/admin/style_guides/components/_activity_group.html.haml +80 -0
  999. data/app/views/workarea/admin/style_guides/components/_asset_picker_field.html.haml +12 -0
  1000. data/app/views/workarea/admin/style_guides/components/_avatar.html.haml +17 -0
  1001. data/app/views/workarea/admin/style_guides/components/_box.html.haml +59 -0
  1002. data/app/views/workarea/admin/style_guides/components/_button.html.haml +53 -0
  1003. data/app/views/workarea/admin/style_guides/components/_card.html.haml +157 -0
  1004. data/app/views/workarea/admin/style_guides/components/_checkbox.html.haml +21 -0
  1005. data/app/views/workarea/admin/style_guides/components/_color_picker_field.html.haml +36 -0
  1006. data/app/views/workarea/admin/style_guides/components/_data_file_sample.html.haml +28 -0
  1007. data/app/views/workarea/admin/style_guides/components/_data_pairs.html.haml +28 -0
  1008. data/app/views/workarea/admin/style_guides/components/_date_marker.html.haml +18 -0
  1009. data/app/views/workarea/admin/style_guides/components/_direct_upload.html.haml +96 -0
  1010. data/app/views/workarea/admin/style_guides/components/_expandable.html.haml +25 -0
  1011. data/app/views/workarea/admin/style_guides/components/_index_table.html.haml +51 -0
  1012. data/app/views/workarea/admin/style_guides/components/_insight.html.haml +100 -0
  1013. data/app/views/workarea/admin/style_guides/components/_loading.html.haml +85 -0
  1014. data/app/views/workarea/admin/style_guides/components/_menu.html.haml +112 -0
  1015. data/app/views/workarea/admin/style_guides/components/_message.html.haml +45 -0
  1016. data/app/views/workarea/admin/style_guides/components/_pagination.html.haml +156 -0
  1017. data/app/views/workarea/admin/style_guides/components/_product_summary.html.haml +28 -0
  1018. data/app/views/workarea/admin/style_guides/components/_property.html.haml +147 -0
  1019. data/app/views/workarea/admin/style_guides/components/_property_toggle.html.haml +48 -0
  1020. data/app/views/workarea/admin/style_guides/components/_release_changeset.html.haml +55 -0
  1021. data/app/views/workarea/admin/style_guides/components/_search_form.html.haml +28 -0
  1022. data/app/views/workarea/admin/style_guides/components/_state.html.haml +35 -0
  1023. data/app/views/workarea/admin/style_guides/components/_summary.html.haml +66 -0
  1024. data/app/views/workarea/admin/style_guides/components/_svg_icon.html.haml +51 -0
  1025. data/app/views/workarea/admin/style_guides/components/_tabs.html.haml +17 -0
  1026. data/app/views/workarea/admin/style_guides/components/_text_box.html.haml +147 -0
  1027. data/app/views/workarea/admin/style_guides/components/_text_button.html.haml +58 -0
  1028. data/app/views/workarea/admin/style_guides/components/_toggle_button.html.haml +59 -0
  1029. data/app/views/workarea/admin/style_guides/components/_ui_accordion.html.haml +21 -0
  1030. data/app/views/workarea/admin/style_guides/components/_ui_autocomplete.html.haml +10 -0
  1031. data/app/views/workarea/admin/style_guides/components/_ui_datepicker.html.haml +22 -0
  1032. data/app/views/workarea/admin/style_guides/components/_ui_helper_hidden_accessible.html.haml +5 -0
  1033. data/app/views/workarea/admin/style_guides/components/_view.html.haml +45 -0
  1034. data/app/views/workarea/admin/style_guides/components/_workflow_bar.html.haml +118 -0
  1035. data/app/views/workarea/admin/style_guides/components/_wysiwyg.html.haml +10 -0
  1036. data/app/views/workarea/admin/style_guides/index.html.haml +87 -0
  1037. data/app/views/workarea/admin/style_guides/objects/_button.html.haml +9 -0
  1038. data/app/views/workarea/admin/style_guides/objects/_button_reset.html.haml +17 -0
  1039. data/app/views/workarea/admin/style_guides/objects/_inline_list.html.haml +41 -0
  1040. data/app/views/workarea/admin/style_guides/objects/_list_reset.html.haml +17 -0
  1041. data/app/views/workarea/admin/style_guides/objects/_section.html.haml +13 -0
  1042. data/app/views/workarea/admin/style_guides/objects/_text_field_reset.html.haml +11 -0
  1043. data/app/views/workarea/admin/style_guides/objects/_tooltip_content.html.haml +31 -0
  1044. data/app/views/workarea/admin/style_guides/settings/_color_variables.html.haml +21 -0
  1045. data/app/views/workarea/admin/style_guides/show.html.haml +10 -0
  1046. data/app/views/workarea/admin/style_guides/trumps/_break_word.html.haml +15 -0
  1047. data/app/views/workarea/admin/style_guides/trumps/_clearfix.html.haml +21 -0
  1048. data/app/views/workarea/admin/style_guides/trumps/_hidden.html.haml +97 -0
  1049. data/app/views/workarea/admin/style_guides/trumps/_image_replacement.html.haml +13 -0
  1050. data/app/views/workarea/admin/style_guides/trumps/_truncate.html.haml +13 -0
  1051. data/app/views/workarea/admin/style_guides/trumps/_visible.html.haml +97 -0
  1052. data/app/views/workarea/admin/style_guides/trumps/_visually_hidden.html.haml +17 -0
  1053. data/app/views/workarea/admin/style_guides/typography/_align.html.haml +25 -0
  1054. data/app/views/workarea/admin/style_guides/typography/_fonts.html.haml +25 -0
  1055. data/app/views/workarea/admin/style_guides/typography/_headings.html.haml +34 -0
  1056. data/app/views/workarea/admin/style_guides/typography/_links.html.haml +47 -0
  1057. data/app/views/workarea/admin/style_guides/typography/_spark.html.haml +32 -0
  1058. data/app/views/workarea/admin/style_guides/typography/_text.html.haml +50 -0
  1059. data/app/views/workarea/admin/tax_categories/_cards.html.haml +57 -0
  1060. data/app/views/workarea/admin/tax_categories/edit.html.haml +44 -0
  1061. data/app/views/workarea/admin/tax_categories/index.html.haml +48 -0
  1062. data/app/views/workarea/admin/tax_categories/new.html.haml +39 -0
  1063. data/app/views/workarea/admin/tax_categories/show.html.haml +19 -0
  1064. data/app/views/workarea/admin/tax_rates/index.html.haml +52 -0
  1065. data/app/views/workarea/admin/timeline/_card.html.haml +16 -0
  1066. data/app/views/workarea/admin/timeline/show.html.haml +78 -0
  1067. data/app/views/workarea/admin/toolbar/show.html.haml +79 -0
  1068. data/app/views/workarea/admin/trash/index.html.haml +21 -0
  1069. data/app/views/workarea/admin/users/_cards.html.haml +199 -0
  1070. data/app/views/workarea/admin/users/_summary.html.haml +15 -0
  1071. data/app/views/workarea/admin/users/addresses.html.haml +22 -0
  1072. data/app/views/workarea/admin/users/edit.html.haml +88 -0
  1073. data/app/views/workarea/admin/users/index.html.haml +94 -0
  1074. data/app/views/workarea/admin/users/index.json.jbuilder +4 -0
  1075. data/app/views/workarea/admin/users/insights.html.haml +128 -0
  1076. data/app/views/workarea/admin/users/orders.html.haml +52 -0
  1077. data/app/views/workarea/admin/users/permissions.html.haml +132 -0
  1078. data/app/views/workarea/admin/users/show.html.haml +38 -0
  1079. data/bin/rails +18 -0
  1080. data/config/locales/en.yml +3609 -0
  1081. data/config/routes.rb +372 -0
  1082. data/lib/workarea/admin.rb +7 -0
  1083. data/lib/workarea/admin/engine.rb +8 -0
  1084. data/lib/workarea/mailer_previews/admin/comment_mailer_preview.rb +12 -0
  1085. data/lib/workarea/mailer_previews/admin/data_file_mailer_preview.rb +21 -0
  1086. data/lib/workarea/mailer_previews/admin/status_report_mailer_preview.rb +9 -0
  1087. data/public/workarea/import_samples/tax_rates.csv +3 -0
  1088. data/test/dummy/README.rdoc +261 -0
  1089. data/test/dummy/Rakefile +7 -0
  1090. data/test/dummy/app/controllers/application_controller.rb +3 -0
  1091. data/test/dummy/app/helpers/application_helper.rb +2 -0
  1092. data/test/dummy/app/mailers/.gitkeep +0 -0
  1093. data/test/dummy/app/models/.gitkeep +0 -0
  1094. data/test/dummy/bin/bundle +3 -0
  1095. data/test/dummy/bin/rails +5 -0
  1096. data/test/dummy/bin/rake +4 -0
  1097. data/test/dummy/bin/setup +34 -0
  1098. data/test/dummy/bin/update +29 -0
  1099. data/test/dummy/config.ru +4 -0
  1100. data/test/dummy/config/application.rb +22 -0
  1101. data/test/dummy/config/boot.rb +3 -0
  1102. data/test/dummy/config/cable.yml +9 -0
  1103. data/test/dummy/config/environment.rb +5 -0
  1104. data/test/dummy/config/environments/development.rb +54 -0
  1105. data/test/dummy/config/environments/production.rb +86 -0
  1106. data/test/dummy/config/environments/test.rb +43 -0
  1107. data/test/dummy/config/initializers/application_controller_renderer.rb +6 -0
  1108. data/test/dummy/config/initializers/assets.rb +11 -0
  1109. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  1110. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  1111. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  1112. data/test/dummy/config/initializers/inflections.rb +16 -0
  1113. data/test/dummy/config/initializers/mime_types.rb +4 -0
  1114. data/test/dummy/config/initializers/new_framework_defaults.rb +17 -0
  1115. data/test/dummy/config/initializers/secret_token.rb +7 -0
  1116. data/test/dummy/config/initializers/session_store.rb +3 -0
  1117. data/test/dummy/config/initializers/workarea.rb +8 -0
  1118. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  1119. data/test/dummy/config/locales/de.yml +2 -0
  1120. data/test/dummy/config/locales/en.yml +23 -0
  1121. data/test/dummy/config/puma.rb +47 -0
  1122. data/test/dummy/config/routes.rb +5 -0
  1123. data/test/dummy/config/secrets.yml +22 -0
  1124. data/test/dummy/config/spring.rb +6 -0
  1125. data/test/dummy/db/seeds.rb +10 -0
  1126. data/test/dummy/lib/assets/.gitkeep +0 -0
  1127. data/test/dummy/log/.gitkeep +0 -0
  1128. data/test/dummy/public/404.html +26 -0
  1129. data/test/dummy/public/422.html +26 -0
  1130. data/test/dummy/public/500.html +25 -0
  1131. data/test/dummy/public/favicon.ico +1 -0
  1132. data/test/dummy/script/rails +6 -0
  1133. data/test/helpers/workarea/admin/application_helper_test.rb +83 -0
  1134. data/test/helpers/workarea/admin/icons_helper_test.rb +62 -0
  1135. data/test/helpers/workarea/admin/imports_helper_test.rb +31 -0
  1136. data/test/helpers/workarea/admin/insights_helper_test.rb +19 -0
  1137. data/test/helpers/workarea/admin/releases_helper_test.rb +152 -0
  1138. data/test/helpers/workarea/admin/settings_helper_test.rb +34 -0
  1139. data/test/integration/workarea/admin/assets_integration_test.rb +62 -0
  1140. data/test/integration/workarea/admin/authorization_integration_test.rb +32 -0
  1141. data/test/integration/workarea/admin/bookmarks_integration_test.rb +29 -0
  1142. data/test/integration/workarea/admin/bulk_action_deletions_integration_test.rb +149 -0
  1143. data/test/integration/workarea/admin/bulk_action_product_edits_integration_test.rb +77 -0
  1144. data/test/integration/workarea/admin/bulk_action_sequential_product_edits_integration_test.rb +198 -0
  1145. data/test/integration/workarea/admin/bulk_actions_integration_test.rb +42 -0
  1146. data/test/integration/workarea/admin/catalog_product_copies_integration_test.rb +37 -0
  1147. data/test/integration/workarea/admin/categories_integration_test.rb +63 -0
  1148. data/test/integration/workarea/admin/categorizations_integration_test.rb +49 -0
  1149. data/test/integration/workarea/admin/changesets_integration_test.rb +22 -0
  1150. data/test/integration/workarea/admin/comments_integration_test.rb +147 -0
  1151. data/test/integration/workarea/admin/content_blocks_integration_test.rb +116 -0
  1152. data/test/integration/workarea/admin/content_emails_integration_test.rb +22 -0
  1153. data/test/integration/workarea/admin/content_integration_test.rb +20 -0
  1154. data/test/integration/workarea/admin/content_presets_integration_test.rb +38 -0
  1155. data/test/integration/workarea/admin/create_catalog_categories_integration_test.rb +99 -0
  1156. data/test/integration/workarea/admin/create_catalog_products_integration_test.rb +215 -0
  1157. data/test/integration/workarea/admin/create_content_pages_integration_test.rb +99 -0
  1158. data/test/integration/workarea/admin/create_pricing_discounts_integration_test.rb +249 -0
  1159. data/test/integration/workarea/admin/create_releases_integration_test.rb +24 -0
  1160. data/test/integration/workarea/admin/create_users_integration_test.rb +188 -0
  1161. data/test/integration/workarea/admin/data_file_exports_integration_test.rb +69 -0
  1162. data/test/integration/workarea/admin/data_file_imports_integration_test.rb +153 -0
  1163. data/test/integration/workarea/admin/direct_uploads_integration_test.rb +92 -0
  1164. data/test/integration/workarea/admin/discounts_integration_test.rb +57 -0
  1165. data/test/integration/workarea/admin/email_signups_integration_test.rb +18 -0
  1166. data/test/integration/workarea/admin/featured_products_integration_test.rb +55 -0
  1167. data/test/integration/workarea/admin/guest_browsings_integration_test.rb +62 -0
  1168. data/test/integration/workarea/admin/help_articles_integration_test.rb +70 -0
  1169. data/test/integration/workarea/admin/impersonations_integration_test.rb +79 -0
  1170. data/test/integration/workarea/admin/import_taxes_integration_test.rb +30 -0
  1171. data/test/integration/workarea/admin/inventory_skus_integration_test.rb +68 -0
  1172. data/test/integration/workarea/admin/jump_to_integration_test.rb +239 -0
  1173. data/test/integration/workarea/admin/menus_integration_test.rb +142 -0
  1174. data/test/integration/workarea/admin/pages_integration_test.rb +45 -0
  1175. data/test/integration/workarea/admin/permissions_integration_test.rb +27 -0
  1176. data/test/integration/workarea/admin/pricing_overrides_integration_test.rb +63 -0
  1177. data/test/integration/workarea/admin/pricing_sku_prices_integration_test.rb +86 -0
  1178. data/test/integration/workarea/admin/pricing_skus_integration_test.rb +67 -0
  1179. data/test/integration/workarea/admin/product_images_integration_test.rb +68 -0
  1180. data/test/integration/workarea/admin/product_rules_integration_test.rb +151 -0
  1181. data/test/integration/workarea/admin/products_integration_test.rb +73 -0
  1182. data/test/integration/workarea/admin/promo_codes_list_integration_test.rb +73 -0
  1183. data/test/integration/workarea/admin/publish_authorization_integration_test.rb +66 -0
  1184. data/test/integration/workarea/admin/publishing_integration_test.rb +36 -0
  1185. data/test/integration/workarea/admin/recommendations_integration_test.rb +29 -0
  1186. data/test/integration/workarea/admin/redirects_integration_test.rb +26 -0
  1187. data/test/integration/workarea/admin/releases_integration_test.rb +172 -0
  1188. data/test/integration/workarea/admin/reports_integration_test.rb +55 -0
  1189. data/test/integration/workarea/admin/search_customizations_integration_test.rb +60 -0
  1190. data/test/integration/workarea/admin/search_settings_integration_test.rb +63 -0
  1191. data/test/integration/workarea/admin/shipping_service_integration_test.rb +79 -0
  1192. data/test/integration/workarea/admin/sort_integration_test.rb +17 -0
  1193. data/test/integration/workarea/admin/tax_categories_integration_test.rb +44 -0
  1194. data/test/integration/workarea/admin/taxonomy_integration_test.rb +94 -0
  1195. data/test/integration/workarea/admin/trash_integration_test.rb +145 -0
  1196. data/test/integration/workarea/admin/users_integration_test.rb +153 -0
  1197. data/test/integration/workarea/admin/variants_integration_test.rb +78 -0
  1198. data/test/integration/workarea/admin/visiting_integration_test.rb +40 -0
  1199. data/test/javascripts/add_content_block_buttons_spec.js +21 -0
  1200. data/test/javascripts/add_to_calendar_buttons_spec.js +27 -0
  1201. data/test/javascripts/asset_pickers_spec.js +56 -0
  1202. data/test/javascripts/cloneable_rows_spec.js +38 -0
  1203. data/test/javascripts/content_blocks_spec.js +47 -0
  1204. data/test/javascripts/content_editor_form_cancel_spec.js +19 -0
  1205. data/test/javascripts/content_editor_forms_spec.js +20 -0
  1206. data/test/javascripts/content_preset_form_spec.js +18 -0
  1207. data/test/javascripts/datepicker_fields_spec.js +65 -0
  1208. data/test/javascripts/datetimepicker_fields_spec.js +97 -0
  1209. data/test/javascripts/direct_uploads_spec.js +152 -0
  1210. data/test/javascripts/fixtures/add_content_block_button.html.haml +10 -0
  1211. data/test/javascripts/fixtures/add_to_calendar_button.html.haml +6 -0
  1212. data/test/javascripts/fixtures/asset_picker.html.haml +6 -0
  1213. data/test/javascripts/fixtures/calendar.html.haml +25 -0
  1214. data/test/javascripts/fixtures/cloneable_row.html.haml +7 -0
  1215. data/test/javascripts/fixtures/content_block.html.haml +4 -0
  1216. data/test/javascripts/fixtures/content_block_editor_form.html.haml +8 -0
  1217. data/test/javascripts/fixtures/datepicker_fields.html.haml +31 -0
  1218. data/test/javascripts/fixtures/datetimepicker_fields.html.haml +11 -0
  1219. data/test/javascripts/fixtures/direct_upload.html.haml +3 -0
  1220. data/test/javascripts/fixtures/help_lookup_button.haml +11 -0
  1221. data/test/javascripts/fixtures/menu_editor_menu_list_sortable.html.haml +3 -0
  1222. data/test/javascripts/fixtures/new_navigation_taxon.html.haml +10 -0
  1223. data/test/javascripts/fixtures/primary_nav.html.haml +4 -0
  1224. data/test/javascripts/fixtures/property_toggle.html.haml +16 -0
  1225. data/test/javascripts/fixtures/release_calendar_placeholder.html.haml +1 -0
  1226. data/test/javascripts/fixtures/release_reminder.html.haml +6 -0
  1227. data/test/javascripts/fixtures/remote_select.html.haml +1 -0
  1228. data/test/javascripts/fixtures/sort_form.html.haml +3 -0
  1229. data/test/javascripts/fixtures/takeover.html.haml +4 -0
  1230. data/test/javascripts/fixtures/tooltip.html.haml +3 -0
  1231. data/test/javascripts/menu_editor_menu_list_sortables_spec.js +40 -0
  1232. data/test/javascripts/messages_spec.js +50 -0
  1233. data/test/javascripts/new_navigation_taxons_spec.js +20 -0
  1234. data/test/javascripts/primary_nav_spec.js +22 -0
  1235. data/test/javascripts/property_toggles_spec.js +33 -0
  1236. data/test/javascripts/release_calendar_placeholders_spec.js +60 -0
  1237. data/test/javascripts/release_reminder_spec.js +18 -0
  1238. data/test/javascripts/relevance_sort_spec.js +23 -0
  1239. data/test/javascripts/remove_selects_spec.js +32 -0
  1240. data/test/javascripts/spec_helper.js +3 -0
  1241. data/test/javascripts/takeover_spec.js +99 -0
  1242. data/test/javascripts/tooltips_spec.js +52 -0
  1243. data/test/mailers/workarea/admin/status_report_mailer_test.rb +38 -0
  1244. data/test/system/workarea/admin/activity_system_test.rb +79 -0
  1245. data/test/system/workarea/admin/alerts_system_test.rb +43 -0
  1246. data/test/system/workarea/admin/assets_system_test.rb +75 -0
  1247. data/test/system/workarea/admin/bookmarks_system_test.rb +31 -0
  1248. data/test/system/workarea/admin/bulk_action_deletions_system_test.rb +71 -0
  1249. data/test/system/workarea/admin/bulk_actions_system_test.rb +206 -0
  1250. data/test/system/workarea/admin/categories_system_test.rb +188 -0
  1251. data/test/system/workarea/admin/comments_system_test.rb +21 -0
  1252. data/test/system/workarea/admin/content_emails_system_test.rb +29 -0
  1253. data/test/system/workarea/admin/content_presets_system_test.rb +65 -0
  1254. data/test/system/workarea/admin/content_system_test.rb +130 -0
  1255. data/test/system/workarea/admin/dashboard_system_test.rb +72 -0
  1256. data/test/system/workarea/admin/data_files_system_test.rb +110 -0
  1257. data/test/system/workarea/admin/discounts_system_test.rb +106 -0
  1258. data/test/system/workarea/admin/exports_system_test.rb +63 -0
  1259. data/test/system/workarea/admin/featured_products_system_test.rb +39 -0
  1260. data/test/system/workarea/admin/guest_browsing_system_test.rb +86 -0
  1261. data/test/system/workarea/admin/help_system_test.rb +104 -0
  1262. data/test/system/workarea/admin/impersonation_system_test.rb +59 -0
  1263. data/test/system/workarea/admin/imports_system_test.rb +42 -0
  1264. data/test/system/workarea/admin/insights_system_test.rb +15 -0
  1265. data/test/system/workarea/admin/inventory_skus_system_test.rb +45 -0
  1266. data/test/system/workarea/admin/menus_system_test.rb +94 -0
  1267. data/test/system/workarea/admin/orders_system_test.rb +108 -0
  1268. data/test/system/workarea/admin/pages_system_test.rb +58 -0
  1269. data/test/system/workarea/admin/payment_transactions_system_test.rb +44 -0
  1270. data/test/system/workarea/admin/pricing_sku_prices_system_test.rb +81 -0
  1271. data/test/system/workarea/admin/pricing_skus_system_test.rb +56 -0
  1272. data/test/system/workarea/admin/product_copy_system_test.rb +48 -0
  1273. data/test/system/workarea/admin/product_images_system_test.rb +71 -0
  1274. data/test/system/workarea/admin/product_rules_system_test.rb +157 -0
  1275. data/test/system/workarea/admin/products_system_test.rb +140 -0
  1276. data/test/system/workarea/admin/publish_authorization_system_test.rb +90 -0
  1277. data/test/system/workarea/admin/recommendations_system_test.rb +80 -0
  1278. data/test/system/workarea/admin/redirects_system_test.rb +42 -0
  1279. data/test/system/workarea/admin/releases_system_test.rb +232 -0
  1280. data/test/system/workarea/admin/reports_system_test.rb +455 -0
  1281. data/test/system/workarea/admin/search_customizations_system_test.rb +133 -0
  1282. data/test/system/workarea/admin/search_settings_system_test.rb +34 -0
  1283. data/test/system/workarea/admin/search_system_test.rb +111 -0
  1284. data/test/system/workarea/admin/sequential_product_editing_system_test.rb +57 -0
  1285. data/test/system/workarea/admin/shipping_services_system_test.rb +30 -0
  1286. data/test/system/workarea/admin/style_guides_system_test.rb +18 -0
  1287. data/test/system/workarea/admin/tax_categories_system_test.rb +61 -0
  1288. data/test/system/workarea/admin/taxonomy_system_test.rb +41 -0
  1289. data/test/system/workarea/admin/timeline_system_test.rb +62 -0
  1290. data/test/system/workarea/admin/toolbar_system_test.rb +24 -0
  1291. data/test/system/workarea/admin/trash_system_test.rb +53 -0
  1292. data/test/system/workarea/admin/users_system_test.rb +141 -0
  1293. data/test/system/workarea/admin/variants_system_test.rb +51 -0
  1294. data/test/teaspoon_env.rb +10 -0
  1295. data/test/test_helper.rb +10 -0
  1296. data/test/view_models/workarea/admin/activity_view_model_test.rb +173 -0
  1297. data/test/view_models/workarea/admin/changeset_view_model_test.rb +72 -0
  1298. data/test/view_models/workarea/admin/code_list_view_model_test.rb +43 -0
  1299. data/test/view_models/workarea/admin/commentable_view_model_test.rb +52 -0
  1300. data/test/view_models/workarea/admin/content_view_model_test.rb +109 -0
  1301. data/test/view_models/workarea/admin/dashboards/insights_graphs_test.rb +106 -0
  1302. data/test/view_models/workarea/admin/dashboards/marketing_view_model_test.rb +25 -0
  1303. data/test/view_models/workarea/admin/dashboards/people_view_model_test.rb +26 -0
  1304. data/test/view_models/workarea/admin/discount_rules_view_model_test.rb +119 -0
  1305. data/test/view_models/workarea/admin/discount_search_view_model_test.rb +26 -0
  1306. data/test/view_models/workarea/admin/discount_view_model_test.rb +19 -0
  1307. data/test/view_models/workarea/admin/fulfillment_item_view_model_test.rb +18 -0
  1308. data/test/view_models/workarea/admin/fulfillment_view_model_test.rb +37 -0
  1309. data/test/view_models/workarea/admin/help_search_view_model_test.rb +35 -0
  1310. data/test/view_models/workarea/admin/insights/insights_details_test.rb +159 -0
  1311. data/test/view_models/workarea/admin/insights/product_view_model_test.rb +92 -0
  1312. data/test/view_models/workarea/admin/order_timeline_view_model_test.rb +194 -0
  1313. data/test/view_models/workarea/admin/product_images_view_model_test.rb +22 -0
  1314. data/test/view_models/workarea/admin/product_view_model_test.rb +152 -0
  1315. data/test/view_models/workarea/admin/promo_code_view_model_test.rb +17 -0
  1316. data/test/view_models/workarea/admin/release_calendar_view_model_test.rb +72 -0
  1317. data/test/view_models/workarea/admin/release_view_model_test.rb +80 -0
  1318. data/test/view_models/workarea/admin/releases_feed_view_model_test.rb +39 -0
  1319. data/test/view_models/workarea/admin/reports/average_order_value_view_model_test.rb +27 -0
  1320. data/test/view_models/workarea/admin/reports/group_by_time_test.rb +32 -0
  1321. data/test/view_models/workarea/admin/reports/insights_view_model_test.rb +36 -0
  1322. data/test/view_models/workarea/admin/reports/sales_by_traffic_referrer_view_model_test.rb +19 -0
  1323. data/test/view_models/workarea/admin/reports/sales_over_time_view_model_test.rb +27 -0
  1324. data/test/view_models/workarea/admin/search_analysis_view_model_test.rb +74 -0
  1325. data/test/view_models/workarea/admin/search_view_model_test.rb +36 -0
  1326. data/test/view_models/workarea/admin/shipping_view_model_test.rb +29 -0
  1327. data/test/view_models/workarea/admin/timeline_view_model_test.rb +80 -0
  1328. data/test/view_models/workarea/admin/transaction_view_model_test.rb +34 -0
  1329. data/test/view_models/workarea/admin/user_search_view_model_test.rb +16 -0
  1330. data/workarea-admin.gemspec +17 -0
  1331. metadata +1401 -0
@@ -0,0 +1,20 @@
1
+ module Workarea
2
+ module Admin
3
+ module Reports
4
+ class SalesBySkuViewModel < ApplicationViewModel
5
+ def results
6
+ @results ||= model.results.map do |result|
7
+ product = products.detect { |p| p.skus.include?(result['_id']) }
8
+ OpenStruct.new({ product: product }.merge(result))
9
+ end
10
+ end
11
+
12
+ def products
13
+ @products ||= Catalog::Product.any_in(
14
+ 'variants.sku' => model.results.map { |r| r['_id'] }
15
+ ).to_a
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,18 @@
1
+ module Workarea
2
+ module Admin
3
+ module Reports
4
+ class SalesByTrafficReferrerViewModel < ApplicationViewModel
5
+ def results
6
+ @results ||= model.results.map do |result|
7
+ processed = {
8
+ medium: result['_id']['medium']&.titleize,
9
+ source: result['_id']['source']&.titleize
10
+ }.merge(result)
11
+
12
+ OpenStruct.new(processed)
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,14 @@
1
+ module Workarea
2
+ module Admin
3
+ module Reports
4
+ class SalesOverTimeViewModel < ApplicationViewModel
5
+ include GroupByTime
6
+
7
+ def graph_data
8
+ return [] if day_of_week?
9
+ results.group_by(&:starts_at).transform_values { |v| (v || []).map(&:revenue) }
10
+ end
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,11 @@
1
+ module Workarea
2
+ module Admin
3
+ module Reports
4
+ class SearchesViewModel < ApplicationViewModel
5
+ def results
6
+ @results ||= model.results.map { |result| OpenStruct.new(result) }
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,45 @@
1
+ module Workarea
2
+ module Admin
3
+ class RevenueViewModel < ApplicationViewModel
4
+ def initialize(revenue_stream)
5
+ @revenue_stream = revenue_stream
6
+ end
7
+
8
+ def total_revenue
9
+ @total_revenue ||= @revenue_stream.sum(:last_four_weeks_revenue)
10
+ end
11
+
12
+ def top_sellers_revenue
13
+ @top_sellers_revenue ||=
14
+ @revenue_stream
15
+ .top
16
+ .limit(5)
17
+ .sum(:last_four_weeks_revenue)
18
+ end
19
+
20
+ def name
21
+ @revenue_stream.revenue_class.name.to_s.demodulize.pluralize
22
+ end
23
+
24
+ def to_h
25
+ [
26
+ {
27
+ label: t('workarea.admin.insights.revenue.top_label', name: name),
28
+ value: percentage(top_sellers_revenue)
29
+ },
30
+ {
31
+ label: t('workarea.admin.insights.revenue.other_label', name: name),
32
+ value: percentage(total_revenue - top_sellers_revenue)
33
+ }
34
+ ]
35
+ end
36
+
37
+ private
38
+
39
+ def percentage(amount)
40
+ return 0 if total_revenue.zero?
41
+ (amount * 1.0 / total_revenue * 100).round(1)
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,68 @@
1
+ module Workarea
2
+ module Admin
3
+ class SearchAnalysisViewModel < ApplicationViewModel
4
+ ScoredProduct = Struct.new(:product, :score, :featured) do
5
+ delegate_missing_to :product
6
+ alias_method :featured?, :featured
7
+ end
8
+
9
+ def storefront_search
10
+ @storefront_search ||= Search::StorefrontSearch.new(q: model.query)
11
+ end
12
+
13
+ def scores
14
+ @scores ||= storefront_search.response.query.results.map do |result|
15
+ ScoredProduct.new(
16
+ ProductViewModel.wrap(result[:model]),
17
+ result[:raw]['_score'],
18
+ last_used_customization.featured_product?(result[:model].id)
19
+ )
20
+ end
21
+ end
22
+
23
+ def trace
24
+ storefront_search.response.trace
25
+ end
26
+
27
+ def middleware
28
+ @middleware ||= begin
29
+ past_last = false
30
+
31
+ storefront_search.create_middleware_chain.reduce({}) do |memo, middleware|
32
+ status = if past_last
33
+ :ignore
34
+ elsif middleware.is_a?(storefront_search.used_middleware.last.class)
35
+ :last
36
+ else
37
+ :pass
38
+ end
39
+
40
+ past_last = middleware.is_a?(storefront_search.used_middleware.last.class) unless past_last
41
+ memo.merge(middleware.class => status)
42
+ end
43
+ end
44
+ end
45
+
46
+ def last_used_customization
47
+ trace.last.query.customization
48
+ end
49
+
50
+ def tokens
51
+ @tokens ||= begin
52
+ terms_used = trace.last.query.query_string.sanitized
53
+
54
+ options = Workarea
55
+ .config
56
+ .elasticsearch_settings
57
+ .dig(:analysis, :analyzer, :text_analyzer)
58
+ .except(:char_filter)
59
+ .merge(index: Search::Storefront.current_index.name, text: terms_used)
60
+
61
+ Workarea.elasticsearch.indices.analyze(options)['tokens'].reduce({}) do |memo, result|
62
+ memo.merge(result['token'] => result['type'].gsub(/\W/, ''))
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,25 @@
1
+ module Workarea
2
+ module Admin
3
+ class SearchCustomizationProductRulesViewModel < ProductRulesPreviewViewModel
4
+ # Fetches search results of products for product search. Extends
5
+ # search class with {Search::AdminProductRulesPreview} to allow
6
+ # overriding display rules.
7
+ #
8
+ # @return [Workarea::Search::ProductSearch]
9
+ # enumerable collection of the search results
10
+ #
11
+ def search
12
+ @search ||= Search::ProductSearch.new(
13
+ q: model.query,
14
+ rules: model.product_rules.select(&:valid?),
15
+ page: options[:page] || 1,
16
+ show_all: show_all?
17
+ ).tap { |s| s.extend(Search::AdminProductRulesPreview) }
18
+ end
19
+
20
+ def display_results?
21
+ true # With query we can always show preview even without rules
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,17 @@
1
+ module Workarea
2
+ module Admin
3
+ class SearchCustomizationViewModel < ApplicationViewModel
4
+ include CommentableViewModel
5
+ include ContentableViewModel
6
+ include FeaturedProductsViewModel
7
+
8
+ def timeline
9
+ @timeline ||= TimelineViewModel.new(model)
10
+ end
11
+
12
+ def insights
13
+ @insights ||= Insights::SearchViewModel.wrap(model, options)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,91 @@
1
+ module Workarea
2
+ module Admin
3
+ class SearchViewModel < ApplicationViewModel
4
+ def results
5
+ @results ||= PagedArray.from(
6
+ persisted_results.map do |model|
7
+ ApplicationController.wrap_in_view_model(
8
+ model,
9
+ view_model_options_for(model)
10
+ )
11
+ end,
12
+ model.results.page,
13
+ model.results.per_page,
14
+ total
15
+ )
16
+ end
17
+
18
+ def total
19
+ model.results.total - (model.results.length - persisted_results.length)
20
+ end
21
+
22
+ def sort
23
+ if options[:sort].blank?
24
+ options[:q].present? ? Sort.relevance : Sort.modified
25
+ else
26
+ Search::AdminSearch.available_sorts.find(options[:sort])
27
+ end
28
+ end
29
+
30
+ def sorts
31
+ Search::AdminSearch.available_sorts.map { |s| [s.name, s.slug] }
32
+ end
33
+
34
+ def facets
35
+ results = model.facets.reject(&:useless?)
36
+ results.reject! { |f| f.system_name == 'type' } unless options[:show_type]
37
+ results
38
+ end
39
+
40
+ def facet_selections
41
+ @facet_selections ||= facets.reduce({}) do |selected, facet|
42
+ facet.results.keys.each do |key|
43
+ if facet.selected?(key)
44
+ selected[facet] ||= []
45
+ selected[facet] << key
46
+ end
47
+ end
48
+
49
+ selected
50
+ end
51
+ end
52
+
53
+ def filters
54
+ @filters ||= model.filters.reject(&:useless?)
55
+ end
56
+
57
+ def applied_filters?
58
+ facet_selections.any? || filters.any?
59
+ end
60
+
61
+ def toggle_facets?
62
+ facets.length > 2
63
+ end
64
+
65
+ private
66
+
67
+ def view_model_options_for(model)
68
+ source = result_sources.detect { |s| model.id.to_s.in?(s['id']) }
69
+ options.merge(source: source)
70
+ end
71
+
72
+ def result_sources
73
+ @result_sources ||=
74
+ model.response['hits']['hits'].map { |r| r['_source'].except('model') }
75
+ end
76
+
77
+ def persisted_results
78
+ classes = model.results.map(&:class).uniq
79
+
80
+ if classes.one?
81
+ # To fix N+1 where it's possible
82
+ result_ids = model.results.map(&:id)
83
+ persisted_ids = classes.first.any_in(id: result_ids).only(:id).map(&:id)
84
+ model.results.select { |r| r.id.in?(persisted_ids) }
85
+ else
86
+ model.results.select { |r| r.class.where(id: r.id).exists? }
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,23 @@
1
+ module Workarea
2
+ module Admin
3
+ class ShippingViewModel < ApplicationViewModel
4
+ def items
5
+ quantities
6
+ .keys
7
+ .map do |order_item_id|
8
+ item = order.items.detect { |i| i.id.to_s == order_item_id }
9
+
10
+ if item.present?
11
+ copy = item.dup.tap { |c| c.quantity = quantities[order_item_id].to_i }
12
+ OrderItemViewModel.wrap(copy, options)
13
+ end
14
+ end
15
+ .compact
16
+ end
17
+
18
+ def order
19
+ options[:order] || Order.find(model.order_id)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,13 @@
1
+ module Workarea
2
+ module Admin
3
+ class TaxCategoryViewModel < ApplicationViewModel
4
+ def timeline
5
+ @timeline ||= TimelineViewModel.new(model)
6
+ end
7
+
8
+ def newest_rates
9
+ @newest_rates ||= rates.order(created_at: :desc).limit(10)
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,57 @@
1
+ module Workarea
2
+ module Admin
3
+ class TimelineViewModel < ApplicationViewModel
4
+ def upcoming_changesets
5
+ @upcoming_changesets ||= ChangesetViewModel.wrap(
6
+ model_changesets + content_changesets
7
+ )
8
+ end
9
+
10
+ def activity
11
+ @activity ||= ActivityViewModel.new(nil, id: model.id)
12
+ end
13
+
14
+ def activity_by_day
15
+ @days ||= activity.entries.reduce({}) do |memo, entry|
16
+ day = entry.created_at.to_date
17
+ memo[day] ||= []
18
+ memo[day] << entry
19
+ memo
20
+ end
21
+ end
22
+
23
+ def today_has_activity
24
+ activity_by_day[Time.zone.today].present?
25
+ end
26
+
27
+ def empty?
28
+ upcoming_changesets.empty? && activity.entries.empty?
29
+ end
30
+
31
+ def subject
32
+ @subject ||= ApplicationController.wrap_in_view_model(model, options)
33
+ end
34
+
35
+ private
36
+
37
+ def model_changesets
38
+ Release::Changeset
39
+ .by_document_path(model)
40
+ .any_in(release_id: upcoming_releases.map(&:id))
41
+ end
42
+
43
+ def content_changesets
44
+ return [] unless model.is_a?(Contentable)
45
+
46
+ Workarea::Content.for(model)
47
+ .changesets
48
+ .any_in(release_id: upcoming_releases.map(&:id))
49
+ .to_a
50
+ end
51
+
52
+ def upcoming_releases
53
+ @upcoming_releases ||= Release.upcoming.to_a
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,39 @@
1
+ module Workarea
2
+ module Admin
3
+ class TransactionViewModel < ApplicationViewModel
4
+ def order_id
5
+ model.payment_id
6
+ end
7
+
8
+ def payment_type
9
+ if model.tender.present?
10
+ model.tender.class.name.demodulize.underscore
11
+ else
12
+ t('workarea.admin.payment_transactions.tender.missing')
13
+ end
14
+ end
15
+
16
+ def payment_title
17
+ if model.tender.present?
18
+ payment_type.titleize
19
+ else
20
+ t('workarea.admin.payment_transactions.tender.title')
21
+ end
22
+ end
23
+
24
+ def status
25
+ if canceled?
26
+ t('workarea.admin.payment_transactions.status.canceled')
27
+ elsif success?
28
+ t('workarea.admin.payment_transactions.status.success')
29
+ else
30
+ t('workarea.admin.payment_transactions.status.failure')
31
+ end
32
+ end
33
+
34
+ def can_be_captured?
35
+ model.action == 'authorize'
36
+ end
37
+ end
38
+ end
39
+ end