Commit Graph

1599 Commits

Author SHA1 Message Date
Katharina Bogad
2fbcefa8fd viewjs: scoped jquery
Most instances of $ have been replaced by $scope.
2021-06-23 15:00:53 +02:00
Katharina Bogad
fd61d1ef62 viewjs: Wrap in fuctions
This commit's contents were auto-generated. They wrap all viewjs
in functions and define a common prologue.

New file contents:

```js
function VIEWNAMEView(Grocy, scope = null)
{
    var $scope = $;
    if(scope != null)
    {
        $scope = $(scope).find;
    }

    // original contents indented with \t

}
```
2021-06-22 22:56:57 +02:00
Katharina Bogad
151722ea38 fix grocy locale generation if no data/config.php is present 2021-06-22 13:41:25 +02:00
Katharina Bogad
a41584258a fix buildsystem for fresh clones 2021-06-22 13:06:55 +02:00
Katharina Bogad
e030fda01a Only load datetimepicker when neccesary 2021-06-21 19:11:08 +02:00
Katharina Bogad
1515f45e31 Merge remote-tracking branch 'upstream/master' into modernjs 2021-06-21 18:19:42 +02:00
Katharina Bogad
598860017b Move components to main grocy bundle
Less stalled requests. Still not optimal though.
2021-06-21 13:14:37 +02:00
Katharina Bogad
b7a1c870f0 js: some speed improvements on page load 2021-06-21 00:16:05 +02:00
Katharina Bogad
7f598058bf i18n: static pot to json compilation
Translations aren't embedded on every page load anymore;
this saves roughly 55kB on every single request, because
these can now be cached.
2021-06-20 23:12:17 +02:00
Bernd Bestel
9e3c68982b
Added changelog for #1380 2021-06-20 13:27:16 +02:00
tank0226
b3ed80d186
Improved support for other LDAP servers (#1380)
Co-authored-by: kuanhong <>
2021-06-20 13:22:18 +02:00
Bernd Bestel
a4f7aac963
Mention newly required PHP extensions in changelog (references #1273) 2021-06-20 13:19:09 +02:00
Katharina Bogad
64b8195f62 viewjs: Code deduplication, Grocy. -> GrocyConfig. 2021-06-20 13:06:15 +02:00
Katharina Bogad
87ee45f0b1 viewjs: Move delete confirmation box to frontendhelper
More code deduplication.
2021-06-20 11:10:38 +02:00
Katharina Bogad
3b342f90db viewjs: extract functions for DataTable Initialisation
Also revert back to use rollup-plugin-css-porter,
because rollup-postcss has issues and also doesn't work.
2021-06-20 09:17:11 +02:00
Katharina Bogad
eb38ec7f26 gulp: release bundling 2021-06-19 01:16:14 +02:00
Katharina Bogad
8a53054750 gulp: Move viewjs rollup to postcss 2021-06-19 00:10:26 +02:00
Katharina Bogad
e1b487e503 gulp: fix build task 2021-06-18 21:15:51 +02:00
Katharina Bogad
93b2c00600 Merge remote-tracking branch 'upstream/master' into modernjs 2021-06-18 21:15:43 +02:00
Bernd Bestel
c45034e6b1
Fixed composer.lock merge conflict (references #1273) 2021-06-18 20:58:51 +02:00
Bernd Bestel
5ad4d9f421
Added changelog for #1273 2021-06-18 20:57:08 +02:00
Katharina Bogad
3d7f0652ce eslint: viewjs
Fixed all reported errors, deduped some code in the picker components.
However, these edits were small enough that I'm positive they work.
2021-06-18 20:55:09 +02:00
Marc Ole Bulling
eb135aee39
Add support for printing shoppinglist with thermal printer (#1273)
* Added escpos-php library

* Added button to shoppinglist print menu

* Added to translation

* Added basic printing logic and API call

* Working implementation for printing with the API

* Added openapi json

* Correctly parsing boolean parameter

* Working button in UI

* Change to grocy formatting

* Add Date

* Only show thermal print button when Feature Flag is set

* Fixed API call and added error message parsing

* Undo translation

* Add flag to print quantities as well

* Added printing notes

* Added quantity conversion

* Increse feed

* Fixed that checkbox was undefined, as dialog was already closed

* Added padding

* Formatting

* Added note about user permission

* Fixed error when using notes instead of products

* Review

- Default FEATURE_FLAG_THERMAL_PRINTER to disabled
- Added missing localization strings (and slightly adjusted one)

* Fixed merge conflicts

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2021-06-18 20:45:42 +02:00
Katharina Bogad
71ccd22d3c eslint: js/viewjs/mealplan.js
Also, I simplified the rendering code for the events a bit.
Day recepie rendering is now deduped.
2021-06-18 19:49:46 +02:00
Katharina Bogad
d6eb70496f eslint: grocy.js 2021-06-18 19:32:57 +02:00
Katharina Bogad
378e2d7aad gulp: Add eslint and config 2021-06-18 19:32:22 +02:00
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
Bernd Bestel
fe59fac1c3
Fixed client side webhook runner (references #1500) 2021-06-13 08:40:16 +02:00
Bernd Bestel
26979a4321
Set HTMLPurifier cache path (fixes #1497) 2021-06-12 20:56:58 +02:00
Kendell R
a0e5f45da3
More night mode improvements (#1336)
* More night mode improvements

* Update grocy_night_mode.css

* Update extensions.js

* Update grocy_night_mode.css

* Update public/css/grocy_night_mode.css
2021-06-12 20:39:08 +02:00
Bernd Bestel
739379fabb
Fixed stock entry grocycode download (references #1500) 2021-06-12 20:15:48 +02:00
Bernd Bestel
96fff2e5f4
Added changelog for #1500 2021-06-12 17:21:48 +02:00
Katharina Bogad
2471e78188
Grocycode, label printing (#1500)
* Grocycode: Productpicker, StockService

* Grocycode: Datamatrix generation

* Grocycode: Display in UI, make Images downloadable

* Grocycode: Do not show on product card

* Grocycode: Stockentry Label view

* Grocycode: Webhooks & Labelprinter Feature

* Grocycode: Manual Label printing

* Grocycode: Print Label from product form

* Quagga2: use zxing for DataMatrix recognition

* Grocycode: Default settings for label printing

* Prepare merge of master

* Grocycode: docs

* Docs: label printing webhook

* Review

- "grocy" is currently written lower-case everywhere, so let's do this also for "grocycode"
- Unified phrases / capitalization
- Minor UI adjustments (mainly context menu item ordering / ordering/spacing on product edit page)
- Documented API changes for Swagger UI (grocy.openapi.json)
- Reverted German localizations (those are managed via Transifex; would cause conflicts when manually edited - will import them later there)
- Reverted a somehow messed up localization string (productform/help text for `cumulate_min_stock_amount_of_sub_products`)
- Suppress deprecation warnings when generating Datamatrix PNG (otherwise the PNG is invalid, https://github.com/jucksearm/php-barcode/issues/3)
- Default `FEATURE_FLAG_LABELPRINTER` to disabled

Co-authored-by: Bernd Bestel <bernd@berrnd.de>
2021-06-12 17:21:12 +02:00
Bernd Bestel
d23fda245e
Fixed that the number picker up/down buttons did not work when the input field was empty or contained an invalid number 2021-03-31 22:26:27 +02:00
Bernd Bestel
791a17fcad
Default shopping list item amount to 1 2021-03-31 22:22:28 +02:00
Bernd Bestel
dabc48fed3
Typo 2021-03-31 22:15:41 +02:00
rozgonik
980778e599
Fix untranslateable hint values (#1435) 2021-03-31 22:14:42 +02:00
Kai
68c5fd0617
Update README.md (#1432) 2021-03-31 22:14:05 +02:00
Edward Betts
7bbcec91aa
Correct spelling (#1420) 2021-03-31 22:12:51 +02:00
Bernd Bestel
c483c34598
Display calories always per single serving (fixes #1359) 2021-02-21 20:57:34 +01:00
Bernd Bestel
906a9db628
Fixed embedded /transfer from /stockentries (fixes #1303) 2021-02-21 19:36:37 +01:00
Bernd Bestel
5583074001
Don't initialise numeric Userfields with 1.0 (fixes #1312) 2021-02-21 19:14:49 +01:00
Bernd Bestel
e4c8f6b023
Don't require 1 to be in stock for "Only check if any amount is in stock" 2021-02-21 19:10:10 +01:00
Bernd Bestel
4555bf3b63
Enforce product barcodes to be unique (references #1205) 2021-02-21 18:55:48 +01:00
Bernd Bestel
2aca551692
Fixed product page QU conversion hint pluralisation (fixes #1352) 2021-02-21 18:24:04 +01:00
Bernd Bestel
f5eff8ab49
Include due_type = "Expiration date" products in /stock/volatile API endpoint (fixes #1372) 2021-02-21 18:18:34 +01:00
Bernd Bestel
36f5fb23e9
Added changelog for #1347 2021-02-21 18:13:16 +01:00
Lauri Niskanen
33dcd17fbd
Fix rounding error on total value calculation (#1347)
* Fix rounding error on total value calculation

* Remove unused 'amountSum' calculation
2021-02-21 18:10:41 +01:00
Bernd Bestel
3d82c9abbd
Disabled platform-check (references #1285) 2021-02-18 12:14:57 +01:00
Bernd Bestel
779ac31ffe
Added changelog for #1332 2021-02-14 12:56:21 +01:00