lesli 5.0.13 → 5.0.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (472) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/config/lesli_manifest.js +3 -6
  3. data/app/assets/images/lesli/brand/app-icon.svg +45 -39
  4. data/app/assets/javascripts/lesli/application.js +1 -0
  5. data/app/controllers/lesli/abouts_controller.rb +20 -14
  6. data/app/controllers/lesli/application_controller.rb +13 -0
  7. data/app/controllers/lesli/application_devise_controller.rb +10 -12
  8. data/app/controllers/lesli/application_lesli_controller.rb +12 -11
  9. data/app/controllers/lesli/apps_controller.rb +6 -0
  10. data/app/controllers/lesli/roles_controller.rb +2 -2
  11. data/app/helpers/lesli/general_helper.rb +18 -5
  12. data/app/helpers/lesli/html_helper.rb +8 -0
  13. data/app/helpers/lesli/navigation_helper.rb +30 -11
  14. data/app/helpers/lesli/system_helper.rb +2 -2
  15. data/app/helpers/lesli/turbo_helper.rb +58 -0
  16. data/app/interfaces/lesli/customization_interface.rb +42 -0
  17. data/app/interfaces/lesli/requester_interface.rb +103 -0
  18. data/app/interfaces/lesli/responder_interface.rb +127 -0
  19. data/app/lib/date2.rb +1 -199
  20. data/app/lib/lesli/courier.rb +54 -0
  21. data/app/mailers/lesli/application_lesli_mailer.rb +32 -59
  22. data/app/mailers/lesli/devise_mailer.rb +16 -8
  23. data/app/models/concerns/account_initializer.rb +27 -68
  24. data/app/models/concerns/lesli/has_activities.rb +29 -0
  25. data/app/models/concerns/user_extensions.rb +34 -19
  26. data/app/models/concerns/user_security.rb +4 -4
  27. data/app/models/lesli/account.rb +13 -20
  28. data/{lib/scss/layouts/application-container.scss → app/models/lesli/item/activity.rb} +11 -8
  29. data/app/models/lesli/role/{power.rb → action.rb} +6 -4
  30. data/app/models/lesli/role.rb +7 -15
  31. data/app/models/lesli/shared/catalog.rb +20 -0
  32. data/app/models/lesli/shared/dashboard.rb +1 -1
  33. data/app/models/lesli/user/activity.rb +5 -0
  34. data/app/models/lesli/user/detail.rb +5 -5
  35. data/app/models/lesli/user/{log.rb → journal.rb} +3 -3
  36. data/app/models/lesli/user/{power.rb → role.rb} +2 -3
  37. data/app/models/lesli/user/session.rb +3 -4
  38. data/app/models/lesli/user.rb +50 -46
  39. data/app/operators/lesli/controller_operator.rb +3 -1
  40. data/app/operators/lesli/{role_descriptor_operator.rb → role_operator.rb} +51 -28
  41. data/app/operators/lesli/user_registration_operator.rb +3 -2
  42. data/app/services/lesli/application_lesli_service.rb +8 -4
  43. data/app/services/lesli/role/action_service.rb +58 -0
  44. data/app/services/lesli/role_service.rb +232 -0
  45. data/app/services/lesli/{user_session_service.rb → user/session_service.rb} +23 -14
  46. data/app/services/lesli/user_service.rb +85 -1
  47. data/app/views/lesli/abouts/welcome.html.erb +144 -0
  48. data/app/views/lesli/apps/show.html.erb +52 -0
  49. data/app/views/lesli/layouts/application-devise.html.erb +5 -7
  50. data/app/views/lesli/layouts/application-lesli.html.erb +18 -24
  51. data/app/views/lesli/layouts/application-public.html.erb +1 -2
  52. data/app/views/lesli/partials/_application-analytics.html.erb +2 -2
  53. data/app/views/lesli/partials/_application-data.html.erb +3 -77
  54. data/app/views/lesli/partials/_application-head.html.erb +7 -4
  55. data/app/views/lesli/partials/_application-lesli-annoouncements.html.erb +49 -0
  56. data/app/views/lesli/partials/_application-lesli-header.html.erb +73 -49
  57. data/app/views/lesli/partials/_application-lesli-javascript.html.erb +3 -16
  58. data/app/views/lesli/partials/_application-lesli-navigation.html.erb +12 -9
  59. data/app/views/lesli/partials/{_application-lesli-notices.html.erb → _application-lesli-notifications.html.erb} +10 -8
  60. data/app/views/lesli/partials/_application-lesli-scss.html.erb +1 -1
  61. data/app/views/lesli/partials/_application-lesli-sidebar.html.erb +1 -1
  62. data/app/views/lesli/partials/_application-public-javascript.html.erb +1 -4
  63. data/app/views/lesli/partials/_application-public-scss.html.erb +1 -1
  64. data/app/views/lesli/shared/dashboards/_show.html.erb +63 -0
  65. data/app/views/lesli/wrappers/_application-devise.html.erb +4 -6
  66. data/config/importmap.rb +14 -0
  67. data/config/initializers/lesli.rb +20 -12
  68. data/config/initializers/lesli_migration_helpers.rb +61 -0
  69. data/config/locales/translations.en.yml +1 -26
  70. data/config/locales/translations.es.yml +1 -26
  71. data/config/locales/translations.fr.yml +1 -26
  72. data/config/locales/translations.it.yml +1 -26
  73. data/config/locales/translations.pt.yml +1 -26
  74. data/config/routes.rb +3 -1
  75. data/db/migrate/v1/{0010000110_create_lesli_accounts.rb → 0000000110_create_lesli_accounts.rb} +13 -12
  76. data/db/migrate/v1/0000000210_create_lesli_roles.rb +65 -0
  77. data/db/migrate/v1/0000000310_create_lesli_users.rb +99 -0
  78. data/db/migrate/v1/{0010000610_create_lesli_system_controllers.rb → 0000100110_create_lesli_system_controllers.rb} +3 -3
  79. data/db/migrate/v1/{0010000710_create_lesli_system_controller_actions.rb → 0000100210_create_lesli_system_controller_actions.rb} +3 -4
  80. data/{lib/scss/layouts/application-content.scss → db/migrate/v1/0000110310_create_lesli_account_settings.rb} +8 -6
  81. data/{app/models/lesli/user/agent.rb → db/migrate/v1/0000110410_create_lesli_account_activities.rb} +3 -3
  82. data/db/migrate/v1/0000120210_create_lesli_role_actions.rb +45 -0
  83. data/db/migrate/v1/{0010001410_create_lesli_account_logs.rb → 0000120310_create_lesli_role_privileges.rb} +8 -8
  84. data/db/{tables/0010003810_create_user_shortcuts.rb → migrate/v1/0000130210_create_lesli_user_roles.rb} +9 -12
  85. data/db/migrate/v1/0000130310_create_lesli_user_sessions.rb +56 -0
  86. data/db/{seed/production.rb → migrate/v1/0000130410_create_lesli_user_activities.rb} +7 -4
  87. data/db/{tables/0010001110_create_account_locations.rb → migrate2/0000100510_create_lesli_account_locations.rb} +6 -6
  88. data/db/{tables/0010001510_create_account_currencies.rb → migrate2/0000100610_create_lesli_account_currencies.rb} +4 -4
  89. data/db/seed/{development/accounts.rb → accounts.rb} +6 -2
  90. data/db/seed/{production/users.rb → users.rb} +4 -10
  91. data/db/seed/{tools.rb → xyz.rb} +2 -7
  92. data/db/seeds.rb +3 -2
  93. data/db/structure/00000020_catalogs.json +0 -0
  94. data/lib/generators/{application_lesli_generator.rb → application_lesli_generator_base.rb} +4 -4
  95. data/lib/generators/lesli/spec/spec_generator.rb +2 -2
  96. data/lib/generators/lesli/view/USAGE +8 -0
  97. data/lib/generators/lesli/view/templates/spec-factory.template +17 -0
  98. data/lib/generators/lesli/view/templates/spec-model.template +70 -0
  99. data/lib/generators/lesli/view/view_generator.rb +25 -0
  100. data/lib/lesli/configuration.rb +7 -10
  101. data/lib/lesli/engine.rb +27 -3
  102. data/lib/lesli/r_spec.rb +5 -2
  103. data/lib/lesli/routing.rb +42 -9
  104. data/lib/lesli/version.rb +2 -2
  105. data/lib/lesli.rb +11 -0
  106. data/lib/migrate/common.rb +94 -0
  107. data/lib/migrate/items/action_structure.rb +51 -0
  108. data/{db/migrate/v1/0010001210_create_lesli_account_activities.rb → lib/migrate/items/activity_structure.rb} +18 -16
  109. data/lib/migrate/items/attachment_structure.rb +62 -0
  110. data/{app/views/lesli/partials/_application-lesli-engines.html.erb → lib/migrate/items/discussion_structure.rb} +19 -27
  111. data/lib/migrate/items/subscriber_structure.rb +49 -0
  112. data/lib/migrate/items/version_structure.rb +53 -0
  113. data/lib/migrate/shared/account_structure.rb +21 -0
  114. data/lib/migrate/shared/catalog_structure.rb +30 -0
  115. data/lib/migrate/shared/dashboard_structure.rb +54 -0
  116. data/lib/migrate/shared/setting_structure.rb +20 -0
  117. data/lib/rspec/config/spec_coverage.rb +95 -0
  118. data/{db/migrate/v1/0010001110_create_lesli_account_settings.rb → lib/rspec/factories/lesli_account.rb} +10 -7
  119. data/{db/seed/development.rb → lib/rspec/factories/lesli_role.rb} +30 -3
  120. data/{db/seed/test.rb → lib/rspec/factories/lesli_user.rb} +32 -3
  121. data/lib/rspec/fixtures/files/lesli-icon.png +0 -0
  122. data/lib/rspec/fixtures/files/test_file_1.docx +0 -0
  123. data/{db/tables/0010001610_create_account_currency_exchange_rates.rb → lib/rspec/helpers/lesli_helper.rb} +21 -21
  124. data/lib/rspec/helpers/rails_helper.rb +134 -0
  125. data/lib/rspec/helpers/response_request_helper.rb +214 -0
  126. data/lib/rspec/helpers/response_service_helper.rb +66 -0
  127. data/lib/rspec/helpers/spec_helper.rb +99 -0
  128. data/lib/rspec/lesli_api_tester.rb +133 -0
  129. data/lib/rspec/lesli_service_tester.rb +46 -0
  130. data/{db/tables/0010001410_create_account_files.rb → lib/rspec/testers/controller.rb} +31 -20
  131. data/lib/rspec/testers/model.rb +36 -0
  132. data/lib/rspec/testers/request.rb +84 -0
  133. data/lib/tasks/lesli/db.rake +5 -3
  134. data/lib/tasks/lesli/git.rake +28 -32
  135. data/lib/tasks/lesli/github.rake +89 -0
  136. data/lib/tasks/lesli_tasks.rake +3 -3
  137. data/readme.md +28 -17
  138. metadata +148 -393
  139. data/app/assets/fonts/lesli/Domine/Domine-Variable.ttf +0 -0
  140. data/app/assets/fonts/lesli/Domine/OFL.txt +0 -97
  141. data/app/assets/fonts/lesli/MaterialDesign/icons.woff2 +0 -0
  142. data/app/assets/fonts/lesli/Montserrat/Montserrat-Variable.ttf +0 -0
  143. data/app/assets/fonts/lesli/OpenSans/OpenSans-Variable.ttf +0 -0
  144. data/app/assets/fonts/lesli/Remix/remixicon.eot +0 -0
  145. data/app/assets/fonts/lesli/Remix/remixicon.glyph.json +0 -1
  146. data/app/assets/fonts/lesli/Remix/remixicon.svg +0 -7633
  147. data/app/assets/fonts/lesli/Remix/remixicon.symbol.svg +0 -11
  148. data/app/assets/fonts/lesli/Remix/remixicon.ttf +0 -0
  149. data/app/assets/fonts/lesli/Remix/remixicon.woff +0 -0
  150. data/app/assets/fonts/lesli/Remix/remixicon.woff2 +0 -0
  151. data/app/assets/fonts/lesli/Roboto/LICENSE.txt +0 -202
  152. data/app/assets/fonts/lesli/Roboto/Roboto-Black.ttf +0 -0
  153. data/app/assets/fonts/lesli/Roboto/Roboto-BlackItalic.ttf +0 -0
  154. data/app/assets/fonts/lesli/Roboto/Roboto-Bold.ttf +0 -0
  155. data/app/assets/fonts/lesli/Roboto/Roboto-BoldItalic.ttf +0 -0
  156. data/app/assets/fonts/lesli/Roboto/Roboto-Italic.ttf +0 -0
  157. data/app/assets/fonts/lesli/Roboto/Roboto-Light.ttf +0 -0
  158. data/app/assets/fonts/lesli/Roboto/Roboto-LightItalic.ttf +0 -0
  159. data/app/assets/fonts/lesli/Roboto/Roboto-Medium.ttf +0 -0
  160. data/app/assets/fonts/lesli/Roboto/Roboto-MediumItalic.ttf +0 -0
  161. data/app/assets/fonts/lesli/Roboto/Roboto-Regular.ttf +0 -0
  162. data/app/assets/fonts/lesli/Roboto/Roboto-Thin.ttf +0 -0
  163. data/app/assets/fonts/lesli/Roboto/Roboto-ThinItalic.ttf +0 -0
  164. data/app/assets/icons/lesli/engine-admin.svg +0 -1
  165. data/app/assets/icons/lesli/engine-audit.svg +0 -1
  166. data/app/assets/icons/lesli/engine-babel.svg +0 -1
  167. data/app/assets/icons/lesli/engine-bell.svg +0 -1
  168. data/app/assets/icons/lesli/engine-books.svg +0 -1
  169. data/app/assets/icons/lesli/engine-calendar.svg +0 -1
  170. data/app/assets/icons/lesli/engine-dashboard.svg +0 -1
  171. data/app/assets/icons/lesli/engine-dispatcher.svg +0 -1
  172. data/app/assets/icons/lesli/engine-focus.svg +0 -1
  173. data/app/assets/icons/lesli/engine-kb.svg +0 -1
  174. data/app/assets/icons/lesli/engine-leaf.svg +0 -1
  175. data/app/assets/icons/lesli/engine-lesli.svg +0 -1
  176. data/app/assets/icons/lesli/engine-letter.svg +0 -1
  177. data/app/assets/icons/lesli/engine-mailer.svg +0 -1
  178. data/app/assets/icons/lesli/engine-one.svg +0 -1
  179. data/app/assets/icons/lesli/engine-profile.svg +0 -1
  180. data/app/assets/icons/lesli/engine-proposal.svg +0 -1
  181. data/app/assets/icons/lesli/engine-scraper.svg +0 -1
  182. data/app/assets/icons/lesli/engine-security.svg +0 -1
  183. data/app/assets/icons/lesli/engine-shared.svg +0 -1
  184. data/app/assets/icons/lesli/engine-shield.svg +0 -1
  185. data/app/assets/icons/lesli/engine-storage.svg +0 -1
  186. data/app/assets/icons/lesli/engine-support.svg +0 -1
  187. data/app/assets/icons/lesli/engine-talk.svg +0 -1
  188. data/app/assets/icons/lesli/engine-team.svg +0 -1
  189. data/app/assets/icons/lesli/engine-time.svg +0 -1
  190. data/app/assets/icons/lesli/locale-en.svg +0 -1
  191. data/app/assets/icons/lesli/locale-es.svg +0 -1
  192. data/app/assets/icons/lesli/locale-fr.svg +0 -1
  193. data/app/assets/icons/lesli/locale-it.svg +0 -1
  194. data/app/assets/icons/lesli/locale-pt.svg +0 -1
  195. data/app/assets/icons/readme.md +0 -10
  196. data/app/assets/javascripts/lesli/templates/application.js +0 -14
  197. data/app/assets/javascripts/lesli/templates/public.js +0 -14
  198. data/app/assets/stylesheets/lesli/templates/application.css +0 -2918
  199. data/app/assets/stylesheets/lesli/templates/public.css +0 -1
  200. data/app/controllers/lesli/interfaces/application/authorization.rb +0 -107
  201. data/app/controllers/lesli/interfaces/application/customization.rb +0 -46
  202. data/app/controllers/lesli/interfaces/application/logger.rb +0 -134
  203. data/app/controllers/lesli/interfaces/application/requester.rb +0 -84
  204. data/app/controllers/lesli/interfaces/application/responder.rb +0 -132
  205. data/app/controllers/lesli/interfaces/controllers/actions.rb +0 -250
  206. data/app/controllers/lesli/interfaces/controllers/activities.rb +0 -215
  207. data/app/controllers/lesli/interfaces/controllers/discussions.rb +0 -270
  208. data/app/controllers/lesli/interfaces/controllers/files.rb +0 -467
  209. data/app/controllers/lesli/interfaces/controllers/subscribers.rb +0 -234
  210. data/app/lib/lesli/system.rb +0 -110
  211. data/app/models/lesli/cloud_object/action.rb +0 -70
  212. data/app/models/lesli/cloud_object/activity.rb +0 -311
  213. data/app/models/lesli/cloud_object/custom_field.rb +0 -158
  214. data/app/models/lesli/cloud_object/discussion.rb +0 -219
  215. data/app/models/lesli/cloud_object/subscriber.rb +0 -186
  216. data/app/operators/lesli/descriptor_privilege_operator.rb +0 -75
  217. data/app/views/lesli/emails/devise_mailer/confirmation_instructions.html.erb +0 -23
  218. data/app/views/lesli/emails/devise_mailer/reset_password_instructions.html.erb +0 -23
  219. data/app/views/lesli/partials/_application-lesli-icons.html.erb +0 -1
  220. data/config/initializers/devise.rb +0 -336
  221. data/db/seed/development/users.rb +0 -52
  222. data/db/seed/production/accounts.rb +0 -50
  223. data/db/structure/00000000_people.json +0 -34
  224. data/db/structure/00000003_actions.json +0 -14
  225. data/db/structure/00000004_activities.json +0 -20
  226. data/db/structure/00000005_discussions.json +0 -8
  227. data/db/structure/00000006_files.json +0 -32
  228. data/db/structure/00000007_subscribers.json +0 -11
  229. data/db/structure/00000501_dashboards.json +0 -14
  230. data/db/structure/00000502_dashboard_components.json +0 -23
  231. data/db/tables/0010003410_create_user_activities.rb +0 -51
  232. data/db/tables/0010003710_create_user_codes.rb +0 -43
  233. data/db/tables/0010004110_create_user_tokens.rb +0 -45
  234. data/db/tables/0010005610_create_role_activities.rb +0 -50
  235. data/db/tables/0010009010_create_feedbacks.rb +0 -56
  236. data/lib/mailer_previews/devise_mailer_preview.rb +0 -49
  237. data/lib/scss/cloud-objects/discussion.scss +0 -80
  238. data/lib/scss/cloud-objects/file.scss +0 -138
  239. data/lib/scss/components/keypad.scss +0 -109
  240. data/lib/scss/elements/autocomplete.scss +0 -72
  241. data/lib/scss/elements/card.scss +0 -37
  242. data/lib/scss/elements/empty.scss +0 -43
  243. data/lib/scss/elements/file-uploader.scss +0 -74
  244. data/lib/scss/elements/gallery.scss +0 -98
  245. data/lib/scss/elements/input-tag.scss +0 -73
  246. data/lib/scss/elements/loading.scss +0 -63
  247. data/lib/scss/elements/map.scss +0 -107
  248. data/lib/scss/elements/navbar.scss +0 -115
  249. data/lib/scss/elements/table.scss +0 -118
  250. data/lib/scss/elements/toolbar.scss +0 -66
  251. data/lib/scss/fonts/families.scss +0 -47
  252. data/lib/scss/fonts/mdicons.scss +0 -82
  253. data/lib/scss/fonts/remixicons.scss +0 -2602
  254. data/lib/scss/helpers/display.scss +0 -44
  255. data/lib/scss/helpers/tooltip.scss +0 -91
  256. data/lib/scss/layouts/application-announcements.scss +0 -40
  257. data/lib/scss/layouts/application-component.scss +0 -39
  258. data/lib/scss/layouts/application-engines.scss +0 -125
  259. data/lib/scss/layouts/application-footer.scss +0 -102
  260. data/lib/scss/layouts/application-header.scss +0 -91
  261. data/lib/scss/layouts/application-navigation.scss +0 -79
  262. data/lib/scss/layouts/application-search.scss +0 -71
  263. data/lib/scss/layouts/application-sidebar.scss +0 -219
  264. data/lib/scss/overrides/notification.scss +0 -75
  265. data/lib/scss/overrides/sweetalert.scss +0 -106
  266. data/lib/scss/pages/devise-simple.scss +0 -89
  267. data/lib/scss/pages/devise.scss +0 -179
  268. data/lib/scss/pages/invites.scss +0 -81
  269. data/lib/scss/panels/panel-announcements.scss +0 -56
  270. data/lib/scss/panels/panel-notification.scss +0 -67
  271. data/lib/scss/panels/panel-profile.scss +0 -62
  272. data/lib/scss/panels/panel-support-ticket.scss +0 -56
  273. data/lib/scss/panels/panel-tasks.scss +0 -41
  274. data/lib/scss/settings/variables.scss +0 -148
  275. data/lib/scss/shared/workflow-status-progress.scss +0 -135
  276. data/lib/scss/templates/application.scss +0 -127
  277. data/lib/scss/templates/component.scss +0 -39
  278. data/lib/scss/templates/dashboards.scss +0 -53
  279. data/lib/scss/templates/empty.scss +0 -42
  280. data/lib/scss/templates/pdf.scss +0 -45
  281. data/lib/scss/templates/public.scss +0 -72
  282. data/lib/vue/application.js +0 -285
  283. data/lib/vue/cloudobjects/discussion/content.vue +0 -62
  284. data/lib/vue/cloudobjects/discussion/element.vue +0 -170
  285. data/lib/vue/cloudobjects/discussion/filters.vue +0 -108
  286. data/lib/vue/cloudobjects/discussion/new.vue +0 -134
  287. data/lib/vue/cloudobjects/discussion.vue +0 -99
  288. data/lib/vue/cloudobjects/stores/discussion.js +0 -212
  289. data/lib/vue/layouts/application-announcements.vue +0 -78
  290. data/lib/vue/layouts/application-component.vue +0 -38
  291. data/lib/vue/layouts/application-container.vue +0 -48
  292. data/lib/vue/layouts/application-engines.vue +0 -66
  293. data/lib/vue/layouts/application-footer.vue +0 -123
  294. data/lib/vue/layouts/application-header.vue +0 -252
  295. data/lib/vue/layouts/application-navbar.vue +0 -110
  296. data/lib/vue/layouts/application-search.vue +0 -86
  297. data/lib/vue/layouts/application-sidebar.vue +0 -63
  298. data/lib/vue/pages/errors/app.js +0 -32
  299. data/lib/vue/pages/invites/app.js +0 -76
  300. data/lib/vue/pages/mfas/application.js +0 -77
  301. data/lib/vue/pages/onboarding/application.js +0 -45
  302. data/lib/vue/pages/onboarding/components/address.vue +0 -120
  303. data/lib/vue/pages/onboarding/components/buttons.vue +0 -67
  304. data/lib/vue/pages/onboarding/components/contact.vue +0 -148
  305. data/lib/vue/pages/onboarding/components/date-time.vue +0 -265
  306. data/lib/vue/pages/onboarding/components/finish.vue +0 -62
  307. data/lib/vue/pages/onboarding/components/general-info.vue +0 -93
  308. data/lib/vue/pages/onboarding/components/indicators.vue +0 -78
  309. data/lib/vue/pages/onboarding/components/welcome.vue +0 -66
  310. data/lib/vue/pages/onboarding/show.vue +0 -67
  311. data/lib/vue/pages/onboarding/store.js +0 -165
  312. data/lib/vue/pages/otps/application.js +0 -90
  313. data/lib/vue/pages/passes/application.js +0 -80
  314. data/lib/vue/pages/websites/application.js +0 -34
  315. data/lib/vue/panels/panel-announcements.vue +0 -248
  316. data/lib/vue/panels/panel-bell-notifications.vue +0 -102
  317. data/lib/vue/panels/panel-files.vue +0 -281
  318. data/lib/vue/panels/panel-profile.vue +0 -76
  319. data/lib/vue/panels/panel-support-tickets.vue +0 -163
  320. data/lib/vue/panels/panel-tasks.vue +0 -124
  321. data/lib/vue/panels/stores/bell-notifications.js +0 -46
  322. data/lib/vue/panels/stores/support-tickets.js +0 -103
  323. data/lib/vue/public.js +0 -83
  324. data/lib/vue/refactor/shared/cloudobjects/action.vue +0 -193
  325. data/lib/vue/refactor/shared/cloudobjects/file/grid.vue +0 -215
  326. data/lib/vue/refactor/shared/cloudobjects/file/list.vue +0 -106
  327. data/lib/vue/refactor/shared/cloudobjects/file.vue +0 -145
  328. data/lib/vue/refactor/shared/workflows2/apps/actions/form.vue +0 -232
  329. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/chatroom-form.vue +0 -103
  330. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/cloud-object-clone-form.vue +0 -125
  331. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/cloud-object-file-form.vue +0 -102
  332. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/email-form.vue +0 -190
  333. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/notification-form.vue +0 -124
  334. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/send-cloud-object-file.vue +0 -170
  335. data/lib/vue/refactor/shared/workflows2/apps/actions/forms/task-form.vue +0 -258
  336. data/lib/vue/refactor/shared/workflows2/apps/actions/index.vue +0 -146
  337. data/lib/vue/refactor/shared/workflows2/apps/checks/form.vue +0 -200
  338. data/lib/vue/refactor/shared/workflows2/apps/checks/index.vue +0 -160
  339. data/lib/vue/refactor/shared/workflows2/apps/index.vue +0 -177
  340. data/lib/vue/refactor/shared/workflows2/apps/new.vue +0 -97
  341. data/lib/vue/refactor/shared/workflows2/apps/show.vue +0 -146
  342. data/lib/vue/refactor/shared/workflows2/components/associations.vue +0 -215
  343. data/lib/vue/refactor/shared/workflows2/components/chart.vue +0 -91
  344. data/lib/vue/refactor/shared/workflows2/components/workflow-form.vue +0 -466
  345. data/lib/vue/refactor/shared/workflows2/components/workflow-status-dropdown.vue +0 -129
  346. data/lib/vue/refactor/stores/cloudobjects/action.js +0 -181
  347. data/lib/vue/refactor/stores/cloudobjects/file.js +0 -205
  348. data/lib/vue/refactor/stores/entities/announcements.js +0 -75
  349. data/lib/vue/refactor/stores/entities/dashboard.js +0 -251
  350. data/lib/vue/refactor/stores/entities/workflow.js +0 -185
  351. data/lib/vue/refactor/stores/panels/announcements.js +0 -153
  352. data/lib/vue/refactor/stores/panels/notification.js +0 -114
  353. data/lib/vue/refactor/stores/panels/task.js +0 -66
  354. data/lib/vue/refactor/stores/panels/tickets.js +0 -129
  355. data/lib/vue/refactor/stores/role.js +0 -243
  356. data/lib/vue/refactor/stores/translations.json +0 -60
  357. data/lib/vue/refactor/stores/users.js +0 -98
  358. data/lib/vue/shared/dashboards/apps/edit.vue +0 -215
  359. data/lib/vue/shared/dashboards/apps/index.vue +0 -112
  360. data/lib/vue/shared/dashboards/apps/new.vue +0 -89
  361. data/lib/vue/shared/dashboards/apps/show.vue +0 -88
  362. data/lib/vue/shared/dashboards/components/form.vue +0 -246
  363. data/lib/vue/shared/services/firebase.js +0 -163
  364. data/lib/vue/shared/services/translator.js +0 -87
  365. data/lib/vue/shared/stores/command.js +0 -154
  366. data/lib/vue/shared/stores/dashboard.js +0 -253
  367. data/lib/vue/shared/stores/layout.js +0 -61
  368. data/lib/vue/shared/stores/systemController.js +0 -67
  369. data/lib/vue/shared/stores/users.js +0 -57
  370. data/lib/vue/stores/translations.json +0 -177
  371. data/lib/vue/translation.js +0 -45
  372. data/lib/webpack/base.js +0 -191
  373. data/lib/webpack/core.js +0 -93
  374. data/lib/webpack/engines.js +0 -167
  375. data/lib/webpack/root.js +0 -105
  376. data/lib/webpack/version.js +0 -78
  377. data/vendor/bulma/LICENSE +0 -21
  378. data/vendor/bulma/bulma.sass +0 -10
  379. data/vendor/bulma/css/bulma-rtl.css +0 -11851
  380. data/vendor/bulma/css/bulma-rtl.min.css +0 -1
  381. data/vendor/bulma/css/bulma.css +0 -11851
  382. data/vendor/bulma/css/bulma.min.css +0 -1
  383. data/vendor/bulma/sass/base/_all.sass +0 -6
  384. data/vendor/bulma/sass/base/animations.sass +0 -5
  385. data/vendor/bulma/sass/base/generic.sass +0 -145
  386. data/vendor/bulma/sass/base/helpers.sass +0 -1
  387. data/vendor/bulma/sass/base/minireset.sass +0 -79
  388. data/vendor/bulma/sass/components/_all.sass +0 -15
  389. data/vendor/bulma/sass/components/breadcrumb.sass +0 -77
  390. data/vendor/bulma/sass/components/card.sass +0 -103
  391. data/vendor/bulma/sass/components/dropdown.sass +0 -83
  392. data/vendor/bulma/sass/components/level.sass +0 -79
  393. data/vendor/bulma/sass/components/media.sass +0 -59
  394. data/vendor/bulma/sass/components/menu.sass +0 -59
  395. data/vendor/bulma/sass/components/message.sass +0 -101
  396. data/vendor/bulma/sass/components/modal.sass +0 -117
  397. data/vendor/bulma/sass/components/navbar.sass +0 -446
  398. data/vendor/bulma/sass/components/pagination.sass +0 -167
  399. data/vendor/bulma/sass/components/panel.sass +0 -121
  400. data/vendor/bulma/sass/components/tabs.sass +0 -176
  401. data/vendor/bulma/sass/elements/_all.sass +0 -16
  402. data/vendor/bulma/sass/elements/box.sass +0 -26
  403. data/vendor/bulma/sass/elements/button.sass +0 -357
  404. data/vendor/bulma/sass/elements/container.sass +0 -29
  405. data/vendor/bulma/sass/elements/content.sass +0 -162
  406. data/vendor/bulma/sass/elements/form.sass +0 -1
  407. data/vendor/bulma/sass/elements/icon.sass +0 -46
  408. data/vendor/bulma/sass/elements/image.sass +0 -73
  409. data/vendor/bulma/sass/elements/notification.sass +0 -52
  410. data/vendor/bulma/sass/elements/other.sass +0 -31
  411. data/vendor/bulma/sass/elements/progress.sass +0 -73
  412. data/vendor/bulma/sass/elements/table.sass +0 -134
  413. data/vendor/bulma/sass/elements/tag.sass +0 -140
  414. data/vendor/bulma/sass/elements/title.sass +0 -70
  415. data/vendor/bulma/sass/form/_all.sass +0 -9
  416. data/vendor/bulma/sass/form/checkbox-radio.sass +0 -22
  417. data/vendor/bulma/sass/form/file.sass +0 -184
  418. data/vendor/bulma/sass/form/input-textarea.sass +0 -66
  419. data/vendor/bulma/sass/form/select.sass +0 -88
  420. data/vendor/bulma/sass/form/shared.sass +0 -60
  421. data/vendor/bulma/sass/form/tools.sass +0 -215
  422. data/vendor/bulma/sass/grid/_all.sass +0 -5
  423. data/vendor/bulma/sass/grid/columns.sass +0 -513
  424. data/vendor/bulma/sass/grid/tiles.sass +0 -36
  425. data/vendor/bulma/sass/helpers/_all.sass +0 -12
  426. data/vendor/bulma/sass/helpers/color.sass +0 -39
  427. data/vendor/bulma/sass/helpers/flexbox.sass +0 -35
  428. data/vendor/bulma/sass/helpers/float.sass +0 -10
  429. data/vendor/bulma/sass/helpers/other.sass +0 -14
  430. data/vendor/bulma/sass/helpers/overflow.sass +0 -2
  431. data/vendor/bulma/sass/helpers/position.sass +0 -7
  432. data/vendor/bulma/sass/helpers/spacing.sass +0 -31
  433. data/vendor/bulma/sass/helpers/typography.sass +0 -103
  434. data/vendor/bulma/sass/helpers/visibility.sass +0 -122
  435. data/vendor/bulma/sass/layout/_all.sass +0 -6
  436. data/vendor/bulma/sass/layout/footer.sass +0 -11
  437. data/vendor/bulma/sass/layout/hero.sass +0 -153
  438. data/vendor/bulma/sass/layout/section.sass +0 -17
  439. data/vendor/bulma/sass/utilities/_all.sass +0 -9
  440. data/vendor/bulma/sass/utilities/animations.sass +0 -1
  441. data/vendor/bulma/sass/utilities/controls.sass +0 -49
  442. data/vendor/bulma/sass/utilities/derived-variables.sass +0 -114
  443. data/vendor/bulma/sass/utilities/extends.sass +0 -25
  444. data/vendor/bulma/sass/utilities/functions.sass +0 -135
  445. data/vendor/bulma/sass/utilities/initial-variables.sass +0 -79
  446. data/vendor/bulma/sass/utilities/mixins.sass +0 -303
  447. data/vendor/lesli-css/_index.scss +0 -34
  448. data/vendor/lesli-css/lesli.scss +0 -51
  449. data/vendor/lesli-css/license +0 -28
  450. data/vendor/lesli-css/src/base/fonts.scss +0 -50
  451. data/vendor/lesli-css/src/base/normalize.scss +0 -118
  452. data/vendor/lesli-css/src/components/blockquote.scss +0 -61
  453. data/vendor/lesli-css/src/components/columns.scss +0 -92
  454. data/vendor/lesli-css/src/components/container.scss +0 -47
  455. data/vendor/lesli-css/src/components/navigation.scss +0 -59
  456. data/vendor/lesli-css/src/functions/colors.scss +0 -184
  457. data/vendor/lesli-css/src/helpers/units.scss +0 -44
  458. data/vendor/lesli-css/src/mixins/breakpoint.scss +0 -184
  459. data/vendor/lesli-css/src/mixins/flex.scss +0 -80
  460. data/vendor/lesli-css/src/mixins/scrollbar.scss +0 -46
  461. data/vendor/lesli-css/src/settings/variables.scss +0 -26
  462. data/vendor/lesli-css/tests/base/normalize.spec.scss +0 -125
  463. data/vendor/lesli-css/tests/functions/colors.spec.scss +0 -117
  464. data/vendor/lesli-css/tests/mixins/breakpoint.spec.scss +0 -429
  465. data/vendor/lesli-css/tests/mixins/scrollbar.spec.scss +0 -82
  466. data/vendor/lesli-css/vendor/normalize.scss +0 -351
  467. data/vendor/remixicon/License +0 -201
  468. data/vendor/remixicon/fonts/remixicon.css +0 -2583
  469. /data/{vendor/lesli-css/src/components/grid.scss → app/assets/stylesheets/lesli/application.css} +0 -0
  470. /data/db/migrate/v1/{0010001010_create_lesli_account_details.rb → 0000110210_create_lesli_account_details.rb} +0 -0
  471. /data/db/structure/{00000008_custom_fields.json → 00000300_custom_fields.json} +0 -0
  472. /data/lib/assets/javascripts/lesli/{i18n.js → i18n_js} +0 -0
@@ -1,127 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS Development Framework.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.dev
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- */
32
-
33
-
34
- // ·
35
- @import "lesli-css";
36
- @import "lesli-css/bulma";
37
- @import "lesli-vue/elements.css";
38
- @import "lesli-vue/components.css";
39
-
40
-
41
- // · Configuration & variables
42
- @import "Lesli/scss/settings/variables";
43
-
44
-
45
- // · Font families and icons
46
- @import "Lesli/scss/fonts/mdicons";
47
- @import "Lesli/scss/fonts/families";
48
- @import "Lesli/scss/fonts/remixicons";
49
-
50
-
51
- // · Lesli application layout
52
- @import "Lesli/scss/layouts/application-announcements";
53
- @import "Lesli/scss/layouts/application-navigation";
54
- @import "Lesli/scss/layouts/application-component";
55
- @import "Lesli/scss/layouts/application-container";
56
- @import "Lesli/scss/layouts/application-content";
57
- @import "Lesli/scss/layouts/application-engines";
58
- @import "Lesli/scss/layouts/application-sidebar";
59
- @import "Lesli/scss/layouts/application-header";
60
-
61
- @import "Lesli/scss/layouts/application-footer";
62
- @import "Lesli/scss/layouts/application-search";
63
-
64
-
65
- // · Lesli core panels
66
- // @import "lesli/panels/panel-tasks";
67
- @import "Lesli/scss/panels/panel-support-ticket";
68
- // @import "lesli/panels/panel-profile";
69
- @import "Lesli/scss/panels/panel-notification";
70
- // @import "lesli/panels/panel-announcements";
71
-
72
-
73
- // · Standard components
74
- //@import "lesli/components/editor-richtext";
75
-
76
-
77
- // · Shared
78
- // @import "lesli/shared/workflow-status-progress";
79
-
80
-
81
- // · Lesli cloud objects
82
- @import "Lesli/scss/cloud-objects/discussion";
83
- // @import "lesli/cloud-objects/file";
84
-
85
-
86
- // · Overrides for vendor libraries
87
- // @import "lesli/overrides/sweetalert";
88
- @import "Lesli/scss/overrides/notification";
89
-
90
-
91
- // · Some home made helpers
92
- @import "Lesli/scss/helpers/display";
93
- @import "Lesli/scss/helpers/tooltip";
94
-
95
-
96
- html,
97
- body {
98
- color: var(--lesli-font-color);
99
- font-size: var(--lesli-font-size);
100
- font-family: $family-primary;
101
- background-color: var(--lesli-color-background);
102
- scrollbar-color: var(--lesli-color-primary) transparent;
103
- scrollbar-width: thin;
104
- font-weight: normal;
105
- line-height: 158%;
106
- }
107
-
108
-
109
- // · titles
110
- h1, h2, h3, h4, h5, h6 {
111
- font-family: "Domine", $family-primary;
112
- }
113
-
114
-
115
- // · Vue Animation component
116
- .v-enter-active, .v-leave-active { transition: opacity 0.5s ease; }
117
- .v-enter-from, .v-leave-to { opacity: 0; }
118
-
119
-
120
- // · Hide vue until vue finishes compilation
121
- [v-cloak] {
122
- display: none !important;
123
- }
124
-
125
- .is-hidden {
126
- display: none !important;
127
- }
@@ -1,39 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS Development Framework.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- */
32
-
33
-
34
- // ·
35
- @import "lesli-css";
36
-
37
-
38
- // · Configuration & variables
39
- @import "Lesli/scss/settings/variables";
@@ -1,53 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS Development Framework.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- */
32
-
33
-
34
- // ·
35
- @import "lesli-css";
36
-
37
-
38
- // · Configuration & variables
39
- @import "Lesli/scss/settings/variables";
40
-
41
-
42
- // ·
43
- aside.lesli-application-sidebar {
44
- display: none !important;
45
- }
46
-
47
-
48
- // ·
49
- .lesli-application-container {
50
- // width: 90%;
51
- // max-width: 1600px !important;
52
- // margin: 0 auto;
53
- }
@@ -1,42 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
-
35
- // · DO NOT DELETE THIS FILE
36
-
37
- // · This file is needed due SASS does not support conditional imports, so, to allow customization
38
- // · based on the existance of "customization" files, what we do is to check if customization file
39
- // · exists then we return the SASS path for that file if not, we return the path to this file then
40
- // · in this way we avoid non-existance errors from SASS.
41
-
42
- // · For details check the code in: lib/LC/system/info.rb:95
@@ -1,45 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS development platform.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
-
32
- */
33
-
34
-
35
- // ·
36
- @import "lesli-css";
37
-
38
- /*
39
- // · Configuration & variables
40
- @import "./lesli/settings/variables";
41
-
42
-
43
- // · Load specific bulma components
44
- @import "bulma/bulma.sass";
45
- */
@@ -1,72 +0,0 @@
1
- /*
2
-
3
- Lesli
4
-
5
- Copyright (c) 2023, Lesli Technologies, S. A.
6
-
7
- This program is free software: you can redistribute it and/or modify
8
- it under the terms of the GNU General Public License as published by
9
- the Free Software Foundation, either version 3 of the License, or
10
- (at your option) any later version.
11
-
12
- This program is distributed in the hope that it will be useful,
13
- but WITHOUT ANY WARRANTY; without even the implied warranty of
14
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
- GNU General Public License for more details.
16
-
17
- You should have received a copy of the GNU General Public License
18
- along with this program. If not, see http://www.gnu.org/licenses/.
19
-
20
- Lesli · Ruby on Rails SaaS Development Framework.
21
-
22
- Made with ♥ by https://www.lesli.tech
23
- Building a better future, one line of code at a time.
24
-
25
- @contact hello@lesli.tech
26
- @website https://www.lesli.tech
27
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
28
-
29
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
30
- // ·
31
- */
32
-
33
-
34
- // ·
35
- @import "lesli-css";
36
-
37
-
38
- // · Configuration & variables
39
- @import "Lesli/scss/settings/variables";
40
-
41
-
42
- // · Include Bulma
43
- @import "lesli-css/bulma";
44
-
45
-
46
- // · Font families and icons
47
- @import "Lesli/scss/fonts/mdicons";
48
- @import "Lesli/scss/fonts/families";
49
- @import "Lesli/scss/fonts/remixicons";
50
-
51
-
52
-
53
- // ·
54
- html,
55
- body {
56
- scrollbar-color: var(--lesli-color-primary) transparent;
57
- scrollbar-width: thin;
58
- font-weight: normal;
59
- line-height: 158%;
60
- }
61
-
62
-
63
- // · headings and links
64
- h1, h2, h3, h4, h5, h6, a {
65
- font-family: "Domine", $family-primary;
66
- }
67
-
68
-
69
- // · Hide vue until vue finishes compilation
70
- [v-cloak] {
71
- display: none !important;
72
- }
@@ -1,285 +0,0 @@
1
- /*
2
- Lesli
3
-
4
- Copyright (c) 2023, Lesli Technologies, S. A.
5
-
6
- This program is free software: you can redistribute it and/or modify
7
- it under the terms of the GNU General Public License as published by
8
- the Free Software Foundation, either version 3 of the License, or
9
- (at your option) any later version.
10
-
11
- This program is distributed in the hope that it will be useful,
12
- but WITHOUT ANY WARRANTY; without even the implied warranty of
13
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
- GNU General Public License for more details.
15
-
16
- You should have received a copy of the GNU General Public License
17
- along with this program. If not, see http://www.gnu.org/licenses/.
18
-
19
- Lesli · Ruby on Rails SaaS Development Framework.
20
-
21
- Made with ♥ by LesliTech
22
- Building a better future, one line of code at a time.
23
-
24
- @contact hello@lesli.tech
25
- @website https://www.lesli.tech
26
- @license GPLv3 http://www.gnu.org/licenses/gpl-3.0.en.html
27
-
28
- // · ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~ ~·~
29
- // ·
30
- */
31
-
32
-
33
- // · Loading core framework and libraries
34
- import { createPinia } from "pinia"
35
- import { createApp, nextTick } from "vue"
36
- import { createWebHistory, createRouter } from "vue-router";
37
- import { useLesliDebug } from "lesli-vue/composables"
38
- const debug = useLesliDebug()
39
-
40
-
41
- // custom console.log implementation for Lesli
42
- window.debug = debug
43
-
44
-
45
- // · Loading application layout components
46
- import lesliApplicationHeader from "Lesli/vue/layouts/application-header.vue"
47
- import lesliApplicationEngines from "Lesli/vue/layouts/application-engines.vue"
48
- import lesliApplicationContainer from "Lesli/vue/layouts/application-container.vue"
49
- import lesliApplicationComponent from "Lesli/vue/layouts/application-component.vue"
50
-
51
-
52
- /*
53
- import componentApplicationFooter from "Lesli/vue/layouts/application-footer.vue"
54
- import componentApplicationSearch from "Lesli/vue/layouts/application-search.vue"
55
- import componentApplicationSidebar from "Lesli/vue/layouts/application-sidebar.vue"
56
- import componentApplicationAnnouncement from "Lesli/vue/layouts/application-announcements.vue"
57
- import componentApplicationPanelTasks from "Lesli/vue/panels/panel-tasks.vue"
58
- import componentApplicationPanelFiles from "Lesli/vue/panels/panel-files.vue"
59
- import componentApplicationPanelProfile from "Lesli/vue/panels/panel-profile.vue"
60
- import componentApplicationPanelNotifications from "Lesli/vue/panels/panel-notifications.vue"
61
- import componentApplicationPanelAnnouncements from "Lesli/vue/panels/panel-announcements.vue"
62
- */
63
-
64
- import componentApplicationPanelSupportTickets from "Lesli/vue/panels/panel-support-tickets.vue"
65
- import componentApplicationPanelBellNotifications from "Lesli/vue/panels/panel-bell-notifications.vue"
66
-
67
-
68
- // · Loading global layout components
69
- import {
70
- // lesliElementAutocomplete,
71
- LesliAvatar,
72
- LesliButton,
73
- // lesliElementButtonLink,
74
- LesliCalendar,
75
- LesliCard,
76
- // lesliElementCollapse,
77
- LesliColumn,
78
- LesliColumns,
79
- LesliControl,
80
- LesliInput,
81
- // lesliElementDropdown,
82
- LesliEmpty,
83
- LesliForm,
84
- LesliHeader,
85
- // lesliElementIcon,
86
- // lesliElementInput,
87
- // lesliElementInputTag,
88
- LesliLink,
89
- LesliLoading,
90
- // lesliElementMap,
91
- LesliNavbar,
92
- // lesliElementFileUploader,
93
- // lesliElementNavigationList,
94
- LesliPagination,
95
- LesliPanel,
96
- LesliSelect,
97
- LesliTable,
98
- LesliTabs,
99
- LesliTabItem,
100
- LesliToggle,
101
- LesliToolbar
102
- } from "lesli-vue/elements"
103
-
104
-
105
-
106
- // · Loading vue/pinia plugins as composables
107
- import {
108
- useLesliMsg,
109
- useLesliUrl,
110
- useLesliDate,
111
- useLesliHttp,
112
- useLesliUtils,
113
- useLesliDialog
114
- } from "lesli-vue/composables"
115
-
116
-
117
-
118
-
119
- // · engine: Engine name
120
- // · routes: Array of routes for Vue
121
- export default (engine, routes=[]) => {
122
-
123
- // · Base path for the engines/core url's
124
- const base_path = "/";
125
-
126
-
127
- // · Vue app configuration container
128
- let appbuilder = { }
129
-
130
-
131
- // · Loading Lesli local layout components
132
- appbuilder["components"] = {
133
- "lesli-application-header": lesliApplicationHeader,
134
- "lesli-application-engines": lesliApplicationEngines,
135
- "application-panel-support-tickets": componentApplicationPanelSupportTickets,
136
- "application-panel-bell-notifications": componentApplicationPanelBellNotifications
137
- /*
138
- "application-component-footer": componentApplicationFooter,
139
- "application-component-search": componentApplicationSearch,
140
- "application-component-sidebar": componentApplicationSidebar,
141
- "application-component-announcements": componentApplicationAnnouncement,
142
- "application-component-panel-tasks": componentApplicationPanelTasks,
143
- "application-component-panel-files": componentApplicationPanelFiles,
144
- "application-component-panel-profile": componentApplicationPanelProfile,
145
- "application-component-panel-announcements": componentApplicationPanelAnnouncements
146
- */
147
- }
148
-
149
-
150
- // · Use pinia as app state management
151
- const pinia = createPinia()
152
-
153
-
154
- // · Loading pinia handmade plugins
155
- pinia.use(() => ({ msg: useLesliMsg() }))
156
- pinia.use(() => ({ url: useLesliUrl(Lesli) }))
157
- pinia.use(() => ({ http: useLesliHttp() }))
158
- pinia.use(() => ({ date: useLesliDate() }))
159
- pinia.use(() => ({ utils: useLesliUtils() }))
160
- pinia.use(() => ({ dialog: useLesliDialog() }))
161
-
162
-
163
- // · Global vue router
164
- const router = createRouter({
165
- history: createWebHistory(base_path),
166
- routes: routes.map(route => {
167
- // concat the base path to all routes
168
- // this allow to use the rails route constants
169
- // example: projects_path is equal to /crm/projects
170
- route.path = base_path.concat(lesli.engine_paths[engine]).concat(route.path)
171
- return route
172
- })
173
- })
174
-
175
-
176
- // ·
177
- router.afterEach((to, from) => {
178
-
179
- // Use next tick to handle router history correctly
180
- nextTick(() => {
181
-
182
- // update the page title according to the working app
183
- document.title = `${lesli?.company?.name} · ${(to.path.substring(1) || 'Dashboard')}`;
184
-
185
- // default class for the specific instance
186
- document.body.className = lesli?.instance
187
-
188
- // using the path as class id for the body
189
- // the class will be: "engine-controller"
190
- var cssclass = to.path
191
- .substring(1) // remove the first slash
192
- .split("/") // create an array splited by slashes
193
- .filter(e => e != "") // remove empty strings
194
- .slice(0, 2) // get the first two items of the array
195
- .join("-"); // create a string joined by dashes
196
-
197
- // add the css class to the body
198
- if (cssclass) { document.body.classList.add("lesli-".concat(cssclass)) }
199
-
200
- })
201
- })
202
-
203
-
204
- // · Create a beautiful Vue 3 app
205
- const application = createApp(appbuilder)
206
-
207
-
208
- // · Provide composables to make them available in all the components
209
- application.provide('msg', useLesliMsg())
210
- application.provide('url', useLesliUrl())
211
- application.provide('http', useLesliHttp())
212
- application.provide('date', useLesliDate()())
213
- application.provide('utils', useLesliUtils())
214
- application.provide('dialog', useLesliDialog())
215
-
216
-
217
- // · Extending vue
218
- application.use(pinia)
219
- application.use(router)
220
-
221
-
222
- // · Register global layouts
223
- application.component("lesli-application-container", lesliApplicationContainer)
224
- application.component("lesli-application-component", lesliApplicationComponent)
225
-
226
-
227
- // · Loading Lesli handmade global components
228
- // application.component("lesli-icon", lesliElementIcon)
229
- application.component("lesli-avatar", LesliAvatar)
230
- application.component("lesli-empty", LesliEmpty)
231
- application.component("lesli-header", LesliHeader)
232
- application.component("lesli-select", LesliSelect)
233
- application.component("lesli-toolbar", LesliToolbar)
234
- application.component("lesli-loading", LesliLoading)
235
- application.component("lesli-table", LesliTable)
236
- // application.component("lesli-collapse", lesliElementCollapse)
237
- application.component("lesli-column", LesliColumn)
238
- application.component("lesli-columns", LesliColumns)
239
- application.component("lesli-card", LesliCard)
240
- application.component("lesli-control", LesliControl)
241
- application.component("lesli-input", LesliInput)
242
- application.component("lesli-tabs", LesliTabs)
243
- application.component("lesli-tab-item", LesliTabItem)
244
- application.component("lesli-panel", LesliPanel)
245
- application.component("lesli-button", LesliButton)
246
- // application.component("lesli-button-link", lesliElementButtonLink)
247
- application.component("lesli-calendar", LesliCalendar)
248
- // application.component("lesli-input-tag", lesliElementInputTag)
249
- // application.component("lesli-file-uploader", lesliElementFileUploader)
250
- // application.component("lesli-navigation-list", lesliElementNavigationList)
251
- application.component("lesli-navbar", LesliNavbar)
252
- application.component("lesli-toggle", LesliToggle)
253
- // application.component("lesli-dropdown", lesliElementDropdown)
254
- // application.component("lesli-map", lesliElementMap)
255
- // //application.component("lesli-gallery", lesliElementGallery)
256
- // application.component("lesli-autocomplete", lesliElementAutocomplete)
257
- application.component("lesli-pagination", LesliPagination)
258
- application.component("lesli-form", LesliForm)
259
- // application.component("lesli-input", lesliElementInput)
260
- application.component("lesli-link", LesliLink)
261
-
262
-
263
-
264
- // · Mount app once DOM is ready
265
- document.addEventListener("DOMContentLoaded", () => {
266
-
267
- // · mount the app on the main html tag
268
- application.mount("#lesli-application")
269
-
270
- // · development message about vue app loaded
271
- if (lesli_application_development) {
272
- debug.info(`${engine} --> ${lesli.engine_paths[engine]}`, "vue/application")
273
- }
274
-
275
- // · console production message
276
- if (lesli_application_production) {
277
- console.clear()
278
- debug.lesli_message_warning(lesli?.company?.name)
279
- debug.info("Lesli application", lesli_application_version)
280
- }
281
-
282
- });
283
-
284
- return application;
285
- }