-
+
@@ -332,7 +338,7 @@
-
+
{{ $t("not") }}
@@ -413,7 +419,7 @@
+
+
+
+
+
+ >=
+ <=
+
+
+
+
+
+
+
+ >=
+ <=
+
+
+
{{ $t("make_now") }}
@@ -571,7 +614,7 @@ export default {
viewedon_gte: true,
sort_order: [],
pagination_page: 1,
- expert_mode: false,
+
keywords_fields: 1,
foods_fields: 1,
books_fields: 1,
@@ -584,6 +627,7 @@ export default {
recently_viewed: 5,
sort_by_new: true,
page_size: 25,
+ expert_mode: false,
remember_search: true,
remember_hours: 4,
sql_debug: false,
@@ -599,6 +643,8 @@ export default {
show_timescooked: false,
show_makenow: false,
show_cookedon: false,
+ show_viewedon: false,
+ show_createdon: false,
include_children: true,
},
pagination_count: 0,
@@ -621,6 +667,10 @@ export default {
const now = new Date()
return new Date(now.getFullYear(), now.getMonth(), now.getDate() - 1)
},
+ today: function () {
+ const now = new Date()
+ return new Date(now.getFullYear(), now.getMonth(), now.getDate())
+ },
ratingOptions: function () {
let ratingCount = undefined
let label = undefined
@@ -662,7 +712,7 @@ export default {
]
},
expertMode: function () {
- return this.ui.enable_expert && this.search.expert_mode
+ return this.ui.enable_expert && this.ui.expert_mode
},
keywordFields: function () {
return !this.expertMode ? 1 : this.search.keywords_fields
@@ -1029,7 +1079,6 @@ export default {
if (this.search.search_filter) {
params.options.query.filter = this.search.search_filter.id
}
- console.log(params)
return params
},
searchFiltered: function (ignore_string = false) {
diff --git a/vue/src/locales/en.json b/vue/src/locales/en.json
index 0d2802264..528af38d5 100644
--- a/vue/src/locales/en.json
+++ b/vue/src/locales/en.json
@@ -337,5 +337,7 @@
"SubstituteOnHand": "You have a substitute on hand.",
"ChildInheritFields": "Children Inherit Fields",
"ChildInheritFields_help": "Children will inherit these fields by default.",
- "InheritFields_help": "The values of these fields will be inheritted from parent (Exception: blank shopping categories are not inheritted)"
+ "InheritFields_help": "The values of these fields will be inheritted from parent (Exception: blank shopping categories are not inheritted)",
+ "last_viewed": "Last Viewed",
+ "created_on": "Created On"
}
diff --git a/vue/src/utils/openapi/api.ts b/vue/src/utils/openapi/api.ts
index d0939b099..7e75aca50 100644
--- a/vue/src/utils/openapi/api.ts
+++ b/vue/src/utils/openapi/api.ts
@@ -1737,7 +1737,7 @@ export interface RecipeBook {
* @type {RecipeBookFilter}
* @memberof RecipeBook
*/
- filter?: RecipeBookFilter;
+ filter?: RecipeBookFilter | null;
}
/**
*
@@ -5763,14 +5763,16 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
* @param {string} [random] Returns the results in randomized order. [true/<b>false</b>]
* @param {string} [_new] Returns new results first in search results. [true/<b>false</b>]
* @param {number} [timescooked] Filter recipes cooked X times or more. Negative values returns cooked less than X times
- * @param {string} [lastcooked] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [cookedon] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [createdon] Filter recipes created on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [viewedon] Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending - filters on or before date.
* @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>]
* @param {number} [page] A page number within the paginated result set.
* @param {number} [pageSize] Number of results to return per page.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- listRecipes: async (query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, lastcooked?: string, makenow?: string, page?: number, pageSize?: number, options: any = {}): Promise => {
+ listRecipes: async (query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, cookedon?: string, createdon?: string, viewedon?: string, makenow?: string, page?: number, pageSize?: number, options: any = {}): Promise => {
const localVarPath = `/api/recipe/`;
// use dummy base URL string because the URL constructor only accepts absolute URLs.
const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);
@@ -5871,8 +5873,16 @@ export const ApiApiAxiosParamCreator = function (configuration?: Configuration)
localVarQueryParameter['timescooked'] = timescooked;
}
- if (lastcooked !== undefined) {
- localVarQueryParameter['lastcooked'] = lastcooked;
+ if (cookedon !== undefined) {
+ localVarQueryParameter['cookedon'] = cookedon;
+ }
+
+ if (createdon !== undefined) {
+ localVarQueryParameter['createdon'] = createdon;
+ }
+
+ if (viewedon !== undefined) {
+ localVarQueryParameter['viewedon'] = viewedon;
}
if (makenow !== undefined) {
@@ -10487,15 +10497,17 @@ export const ApiApiFp = function(configuration?: Configuration) {
* @param {string} [random] Returns the results in randomized order. [true/<b>false</b>]
* @param {string} [_new] Returns new results first in search results. [true/<b>false</b>]
* @param {number} [timescooked] Filter recipes cooked X times or more. Negative values returns cooked less than X times
- * @param {string} [lastcooked] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [cookedon] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [createdon] Filter recipes created on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [viewedon] Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending - filters on or before date.
* @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>]
* @param {number} [page] A page number within the paginated result set.
* @param {number} [pageSize] Number of results to return per page.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- async listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, lastcooked?: string, makenow?: string, page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
- const localVarAxiosArgs = await localVarAxiosParamCreator.listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, lastcooked, makenow, page, pageSize, options);
+ async listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, cookedon?: string, createdon?: string, viewedon?: string, makenow?: string, page?: number, pageSize?: number, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {
+ const localVarAxiosArgs = await localVarAxiosParamCreator.listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, cookedon, createdon, viewedon, makenow, page, pageSize, options);
return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);
},
/**
@@ -12302,15 +12314,17 @@ export const ApiApiFactory = function (configuration?: Configuration, basePath?:
* @param {string} [random] Returns the results in randomized order. [true/<b>false</b>]
* @param {string} [_new] Returns new results first in search results. [true/<b>false</b>]
* @param {number} [timescooked] Filter recipes cooked X times or more. Negative values returns cooked less than X times
- * @param {string} [lastcooked] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [cookedon] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [createdon] Filter recipes created on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [viewedon] Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending - filters on or before date.
* @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>]
* @param {number} [page] A page number within the paginated result set.
* @param {number} [pageSize] Number of results to return per page.
* @param {*} [options] Override http request option.
* @throws {RequiredError}
*/
- listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, lastcooked?: string, makenow?: string, page?: number, pageSize?: number, options?: any): AxiosPromise {
- return localVarFp.listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, lastcooked, makenow, page, pageSize, options).then((request) => request(axios, basePath));
+ listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, cookedon?: string, createdon?: string, viewedon?: string, makenow?: string, page?: number, pageSize?: number, options?: any): AxiosPromise {
+ return localVarFp.listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, cookedon, createdon, viewedon, makenow, page, pageSize, options).then((request) => request(axios, basePath));
},
/**
*
@@ -14147,7 +14161,9 @@ export class ApiApi extends BaseAPI {
* @param {string} [random] Returns the results in randomized order. [true/<b>false</b>]
* @param {string} [_new] Returns new results first in search results. [true/<b>false</b>]
* @param {number} [timescooked] Filter recipes cooked X times or more. Negative values returns cooked less than X times
- * @param {string} [lastcooked] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [cookedon] Filter recipes last cooked on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [createdon] Filter recipes created on or after YYYY-MM-DD. Prepending - filters on or before date.
+ * @param {string} [viewedon] Filter recipes lasts viewed on or after YYYY-MM-DD. Prepending - filters on or before date.
* @param {string} [makenow] Filter recipes that can be made with OnHand food. [true/<b>false</b>]
* @param {number} [page] A page number within the paginated result set.
* @param {number} [pageSize] Number of results to return per page.
@@ -14155,8 +14171,8 @@ export class ApiApi extends BaseAPI {
* @throws {RequiredError}
* @memberof ApiApi
*/
- public listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, lastcooked?: string, makenow?: string, page?: number, pageSize?: number, options?: any) {
- return ApiApiFp(this.configuration).listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, lastcooked, makenow, page, pageSize, options).then((request) => request(this.axios, this.basePath));
+ public listRecipes(query?: string, keywords?: number, keywordsOr?: number, keywordsAnd?: number, keywordsOrNot?: number, keywordsAndNot?: number, foods?: number, foodsOr?: number, foodsAnd?: number, foodsOrNot?: number, foodsAndNot?: number, units?: number, rating?: number, books?: string, booksOr?: number, booksAnd?: number, booksOrNot?: number, booksAndNot?: number, internal?: string, random?: string, _new?: string, timescooked?: number, cookedon?: string, createdon?: string, viewedon?: string, makenow?: string, page?: number, pageSize?: number, options?: any) {
+ return ApiApiFp(this.configuration).listRecipes(query, keywords, keywordsOr, keywordsAnd, keywordsOrNot, keywordsAndNot, foods, foodsOr, foodsAnd, foodsOrNot, foodsAndNot, units, rating, books, booksOr, booksAnd, booksOrNot, booksAndNot, internal, random, _new, timescooked, cookedon, createdon, viewedon, makenow, page, pageSize, options).then((request) => request(this.axios, this.basePath));
}
/**