Skip to content

Commit

Permalink
GITHUB#13 Make checked items history list sort field/order customizab…
Browse files Browse the repository at this point in the history
…le with server-wide flag
  • Loading branch information
nanawel committed Apr 30, 2023
1 parent 730a6cd commit 7d99271
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 20 deletions.
36 changes: 21 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -161,21 +161,27 @@ docker-compose up -d

**Available environment variables for the `app` container**

- `LISTEN_PORT` (default : `8080`)
- `MONGODB_HOST` (default : `mongodb`)
- `MONGODB_PORT` (default : `27017`)
- `MONGODB_DB` (default : `osl`)
- `VUE_APP_I18N_LOCALE` (default : `en`)
- `VUE_APP_I18N_FALLBACK_LOCALE` (default : `en`)
- `VUE_APP_I18N_FORCE_LOCALE` (default : `0`)
- `VUE_APP_SINGLEBOARD_MODE` (default : `0`)
- `VUE_APP_TITLE` (default : `Our Shopping List`)
- `VUE_APP_SHORT_TITLE` (default : `OSL`)
- `VUE_APP_CLIENT_LOG_ENABLED` (default : `false`, [see doc here](https://github.com/dev-tavern/vue-logger-plugin/tree/v1.2.3#enabled-vs-consoleenabled))
- `VUE_APP_CLIENT_LOG_CONSOLE_ENABLED` (default : `false`, [see doc here](https://github.com/dev-tavern/vue-logger-plugin/tree/v1.2.3#enabled-vs-consoleenabled))
- `VUE_APP_CLIENT_LOG_LEVEL` (default : `debug`)

> MongoDB authentication is not supported yet.
- **System keys**
- `LISTEN_PORT` (default: `8080`)
- `MONGODB_HOST` (default: `mongodb`)
- `MONGODB_PORT` (default: `27017`)
- `MONGODB_DB` (default: `osl`)

> MongoDB authentication is not supported yet.
- **Application keys**
- `VUE_APP_CHECKED_ITEMS_HISTORY_SORT_FIELD` (default: `lastCheckedAt`, see available fields [here](./client/src/models/Item.js))
- `VUE_APP_CHECKED_ITEMS_HISTORY_SORT_ORDER` (default: `desc`)
- `VUE_APP_CLIENT_LOG_CONSOLE_ENABLED` (default: `false`, [see doc here](https://github.com/dev-tavern/vue-logger-plugin/tree/v1.2.3#enabled-vs-consoleenabled))
- `VUE_APP_CLIENT_LOG_ENABLED` (default: `false`, [see doc here](https://github.com/dev-tavern/vue-logger-plugin/tree/v1.2.3#enabled-vs-consoleenabled))
- `VUE_APP_CLIENT_LOG_LEVEL` (default: `debug`)
- `VUE_APP_I18N_FALLBACK_LOCALE` (default: `en`)
- `VUE_APP_I18N_FORCE_LOCALE` (default: `0`)
- `VUE_APP_I18N_LOCALE` (default: `en`)
- `VUE_APP_SHORT_TITLE` (default: `OSL`)
- `VUE_APP_SINGLEBOARD_MODE` (default: `0`)
- `VUE_APP_TITLE` (default: `Our Shopping List`)


### 🗒 Notes for reverse-proxy (SSL offloading)

Expand Down
6 changes: 5 additions & 1 deletion client/src/components/ListComponent.vue
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,7 @@ import Item from "@/models/Item"
import {containsIgnoreCase} from "@/libs/compare-strings"
import {DISPLAY_MODE_CHECKED_HISTORY, DISPLAY_MODE_UNCHECKED_ONLY} from '@/constants'
import config from '@/config'
export default {
name: 'ListComponent',
Expand Down Expand Up @@ -244,7 +245,10 @@ export default {
if (this.displayMode === DISPLAY_MODE_CHECKED_HISTORY) {
q.where('checked', true)
.orderBy(item => item.lastCheckedAt || 0, 'desc') // Need to handle specifically undefined values as 0
.orderBy(item =>
item[config.VUE_APP_CHECKED_ITEMS_HISTORY_SORT_FIELD || 'lastCheckedAt'] || 0, // Need to handle specifically undefined values as 0
String(config.VUE_APP_CHECKED_ITEMS_HISTORY_SORT_ORDER).toLowerCase() === 'asc' ? 'asc' : 'desc'
)
} else {
q.orderBy('checked')
}
Expand Down
12 changes: 8 additions & 4 deletions server/src/config.js
Original file line number Diff line number Diff line change
@@ -1,31 +1,35 @@
const VUE_APP_CLIENT_LOG_ENABLED = !!parseInt(process.env.VUE_APP_CLIENT_LOG_ENABLED);
const VUE_APP_CHECKED_ITEMS_HISTORY_SORT_FIELD = process.env.VUE_APP_CHECKED_ITEMS_HISTORY_SORT_FIELD || 'lastCheckedAt';
const VUE_APP_CHECKED_ITEMS_HISTORY_SORT_ORDER = process.env.VUE_APP_CHECKED_ITEMS_HISTORY_SORT_ORDER || 'desc';
const VUE_APP_CLIENT_LOG_CONSOLE_ENABLED = !!parseInt(process.env.VUE_APP_CLIENT_LOG_CONSOLE_ENABLED);
const VUE_APP_CLIENT_LOG_ENABLED = !!parseInt(process.env.VUE_APP_CLIENT_LOG_ENABLED);
const VUE_APP_CLIENT_LOG_LEVEL = process.env.VUE_APP_CLIENT_LOG_LEVEL || 'debug';
const VUE_APP_DISABLE_AGRESSIVE_ASSETS_CACHING = !!parseInt(process.env.VUE_APP_DISABLE_AGRESSIVE_ASSETS_CACHING);
const VUE_APP_DISABLE_CONTEXTMENU = !!parseInt(process.env.VUE_APP_DISABLE_CONTEXTMENU);
const VUE_APP_I18N_FALLBACK_LOCALE = process.env.VUE_APP_I18N_FALLBACK_LOCALE || 'en';
const VUE_APP_I18N_FORCE_LOCALE = !!parseInt(process.env.VUE_APP_I18N_FORCE_LOCALE);
const VUE_APP_I18N_LOCALE = process.env.VUE_APP_I18N_LOCALE || 'en';
const VUE_APP_LOCALSTORAGE_KEY_PREFIX = process.env.VUE_APP_LOCALSTORAGE_KEY_PREFIX || 'OurShoppingList_';
const VUE_APP_SHORT_TITLE = process.env.VUE_APP_SHORT_TITLE || 'OSL';
const VUE_APP_SINGLEBOARD_ID = process.env.VUE_APP_SINGLEBOARD_ID || '00000000-0000-0000-0000-000000000000';
const VUE_APP_SINGLEBOARD_MODE = !!parseInt(process.env.VUE_APP_SINGLEBOARD_MODE);
const VUE_APP_SINGLEBOARD_SLUG = process.env.VUE_APP_SINGLEBOARD_SLUG || '_';
const VUE_APP_TITLE = process.env.VUE_APP_TITLE || 'Our Shopping List';
const VUE_APP_SHORT_TITLE = process.env.VUE_APP_SHORT_TITLE || 'OSL';

module.exports = {
VUE_APP_CLIENT_LOG_ENABLED,
VUE_APP_CHECKED_ITEMS_HISTORY_SORT_FIELD,
VUE_APP_CHECKED_ITEMS_HISTORY_SORT_ORDER,
VUE_APP_CLIENT_LOG_CONSOLE_ENABLED,
VUE_APP_CLIENT_LOG_ENABLED,
VUE_APP_CLIENT_LOG_LEVEL,
VUE_APP_DISABLE_AGRESSIVE_ASSETS_CACHING,
VUE_APP_DISABLE_CONTEXTMENU,
VUE_APP_I18N_FALLBACK_LOCALE,
VUE_APP_I18N_FORCE_LOCALE,
VUE_APP_I18N_LOCALE,
VUE_APP_LOCALSTORAGE_KEY_PREFIX,
VUE_APP_SHORT_TITLE,
VUE_APP_SINGLEBOARD_ID,
VUE_APP_SINGLEBOARD_MODE,
VUE_APP_SINGLEBOARD_SLUG,
VUE_APP_TITLE,
VUE_APP_SHORT_TITLE,
};

0 comments on commit 7d99271

Please sign in to comment.