Commit Graph

29 Commits

Author SHA1 Message Date
Katharina Bogad
f7bc6a3f6d Modernize Javascript
This *absolute commit monster* does the following things:

- Introduce gulp to build javascript and css files.

  This includes moving node_modules out of the public/ folder.
  Use `gulp --tasks` to get a list of all tasks; however some
  of them are automatically generated.

  Use `gulp live` to watch for changes and automatically recompile
  what's needed.

- Upgrade to yarn2
- Upgrade FullCalendar to 4.4.2

  I know that 5.x is the current version, but two major version upgrades
  are too much right now. Also v5 would break any custom css as they
  renamed a bunch of classes.

- Move Styles to sass

  (Most) global styles are now included in one sass file. This also
  means that we now compile our own bootstrap.

- Javascript is now in strict mode

  Because everything is a module now, `use strict` is now in effect
  for all javascript files. There are probably still some parts left
  where implicit variable declarations were used.

- grocy*.js were split up in modules.

  `window.Grocy` is now an instance of GrocyClass. API-wise nothing
  has changed (albeit some functions were added regarding Undo actions)
  At the Moment, this leaks a whole bunch of functions into window
  (that was easier than tracking those down).

- FindObjectIn... style functions were removed.

  Array.prototype.find and Array.prototype.filter suffice.

- Use babel to preprocess javascript.
- Use rollup to bundle javascript.

  rollup bundles and tree-shakes es6 javascript bundles.
  It also allows to "import" css files and generate css
  files specific to this javascript file. This is used
  in viewjs scripts, for example when importing FullCalendar,
  to generate an associated viewcss file.

- Use postcss to post-process css files.

  postcss uses autoprefixer to handle browser compatiblity.
  Internally this uses the package `browserslist`; and is currently
  configured to the default setting.

- Minify assets when building in production

  `gulp publish` builds all assets in production mode, that is,
  the assets get minified. This includes javascript as well as
  css files.

- css bundling

  concatCss is used to pull @imports of non-sass-files into one
  grocy.css

- animate.css is now in the main bundle

  animate.css was used in so many places that it is now located
  in the main style bundle.
2021-06-18 12:44:39 +02:00
Robert Resch
07ff28da39
Add row group customization (#1189)
* Add row group customization

* fix rowGroup state loading

* activate rowGroup for all datatables

* add reset button

* reload page done on success callback

* Review

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-12-16 18:18:03 +01:00
Bernd Bestel
e85b21384f
Remove "Allow partial units in stock" product option / unify number input validation messages 2020-11-16 17:10:41 +01:00
Bernd Bestel
3b73df57e5
Unify tooltips 2020-11-15 09:22:05 +01:00
Bernd Bestel
c360cbec4c
UI strings/tooltips/basic handling review/optimizations 2020-11-12 21:35:10 +01:00
Bernd Bestel
0a600d3277
Fix hide/view columns dialog did not work on pages with more than 1 table (references #1058) 2020-11-11 22:28:05 +01:00
Bernd Bestel
0245a925b7
Make it possible to hide columns (closes #1058)
Hide new overview page columns by default
2020-11-11 21:11:17 +01:00
Bernd Bestel
68eeb07e5f
Test/review/rework (and hopefully finalized) new price handling 2020-11-10 18:11:33 +01:00
Bernd Bestel
d82fd09fba
UI test/review 2020-11-08 15:09:10 +01:00
4lloyd
76cbf796b6
[WIP] Simplified overviews on mobile (#1115)
* Simplified stock overview on mobile.

* Stock table horizontally scrollable

* Use the new mobile views for all pages (except the shopping list page, use the existing special handling there for now)
And add a clear filter button to all pages

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-11-07 14:53:45 +01:00
Bernd Bestel
7b32d1d8a4
More compact page headers / streamlined new page design for all pages 2020-10-31 18:37:10 +01:00
Bernd Bestel
f93261404b
Fixed by PHP-CS-Fixer broken formattings 2020-10-18 15:08:09 +02:00
fipwmaqzufheoxq92ebc
32a4f81f62
Filtering of API-Results (#985)
* Add FilteredApiResponse

* Use FilteredApiResponse for Generic-Entity-Search

* Use FilteredApiResponse for Recipe-Fullfillment

* Use FilteredApiResponse for GetUsers

* Use FilteredApiResponse for current Tasks

* Use FilteredApiResponse for ProductStockEntries & ProductStockLocations

* Use FilteredApiResponse for current chores

* Use FilteredApiResponse for batteries-current

* Fix missing highlighting of "< X days"

* Keep to use existing views

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-09-01 19:59:40 +02:00
Bernd Bestel
33325d5560
Applied .blade.php formatting rules 2020-08-31 20:32:50 +02:00
Zack Arnett
4629df17b4
Cosmetic Update (#753)
* UI changes

* New (header) style was missing on some pages

* Added/changed new localization strings

* Unify page titles / apply .title class everywhere

* Reduce spacing below page title

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2020-04-19 14:51:02 +02:00
Bernd Bestel
890663bf63
Fixed the "Shopping list to stock workflow" with disabled FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING (fixes #537) 2020-02-02 13:01:31 +01:00
Bernd Bestel
8d490351d0
Replaced jQuery UI by Animate.css (better, faster, lighter) 2020-01-28 19:27:18 +01:00
Bernd Bestel
b4d2e2a20a
Added the possibility to undo a task (closes #252) 2019-07-06 20:34:01 +02:00
Bernd Bestel
9b2dba2397
Migrated (hopefully) all translations to PO/Gettext (references #161) 2019-05-01 20:19:18 +02:00
Bernd Bestel
c5993ad994
Finalize user-defined-fields (closes #176) 2019-04-23 09:06:18 +02:00
Bernd Bestel
a3d4fd834f
Added a small right border to separate button columns in all tables better 2019-03-09 10:49:26 +01:00
Bernd Bestel
0f03420808
Removed unnecessary table column heading for button columns 2019-03-09 10:40:38 +01:00
Bernd Bestel
f6649d51bd
Finalize loading speed improvements for all data tables (this now closes #120)
This is a workaround for now. The tables are still DOM sourced because of too big dependencies between server side rendering and frontend JS code. The tables are initially load while tbody is hidden, this results in a speedup by around 65 %.
2019-01-05 20:06:35 +01:00
Bernd Bestel
a3617cffb8
Small different UI improvements
Show the cursor as pointer on stock overview page while hovering the product name cell to highlight that the productcard can be opened
Show a waiting cursor and disable all form inputs while doing background XHR calls to highlight that the user should wait
Place the search field (to search a table) on all pages to the left most place
2018-11-24 19:40:50 +01:00
Bernd Bestel
5112e0f551
Next attempt to fix tooltip flickering problems (references #66 and #51) 2018-09-25 16:24:43 +02:00
Bernd Bestel
7401971884
Make info bars clickable and add a filter for them on all overview pages (references #60) 2018-09-24 19:13:53 +02:00
Bernd Bestel
06f25b7006
Finish first version of tasks feature 2018-09-23 19:26:13 +02:00
Bernd Bestel
f85a67a1ff
Continue working on tasks feature 2018-09-23 09:22:54 +02:00
Bernd Bestel
6fe0100927
Start working on tasks feature 2018-09-22 22:01:32 +02:00