From 4b53c06467661e72075ea2d9adaaa5c884258dad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 13 Jul 2023 15:00:34 +0200 Subject: [PATCH] OAPI: regenerate code --- .../manager/docs/AvailableJobSetting.md | 2 +- .../docs/AvailableJobSettingEvalInfo.md | 14 + .../docs/AvailableJobSettingEvalOnSubmit.md | 14 - .../manager/model/available_job_setting.py | 12 +- ....py => available_job_setting_eval_info.py} | 38 +- addon/flamenco/manager/models/__init__.py | 2 +- addon/flamenco/manager_README.md | 2 +- pkg/api/openapi_spec.gen.go | 433 +++++++++--------- pkg/api/openapi_types.gen.go | 16 +- web/app/src/manager-api/index.js | 8 +- .../manager-api/model/AvailableJobSetting.js | 10 +- .../model/AvailableJobSettingEvalInfo.js | 88 ++++ .../model/AvailableJobSettingEvalOnSubmit.js | 86 ---- 13 files changed, 366 insertions(+), 359 deletions(-) create mode 100644 addon/flamenco/manager/docs/AvailableJobSettingEvalInfo.md delete mode 100644 addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md rename addon/flamenco/manager/model/{available_job_setting_eval_on_submit.py => available_job_setting_eval_info.py} (80%) create mode 100644 web/app/src/manager-api/model/AvailableJobSettingEvalInfo.js delete mode 100644 web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js diff --git a/addon/flamenco/manager/docs/AvailableJobSetting.md b/addon/flamenco/manager/docs/AvailableJobSetting.md index 08a0ad72..8f0ab931 100644 --- a/addon/flamenco/manager/docs/AvailableJobSetting.md +++ b/addon/flamenco/manager/docs/AvailableJobSetting.md @@ -13,7 +13,7 @@ Name | Type | Description | Notes **description** | **bool, date, datetime, dict, float, int, list, str, none_type** | The description/tooltip shown in the user interface. | [optional] **default** | **bool, date, datetime, dict, float, int, list, str, none_type** | The default value shown to the user when determining this setting. | [optional] **eval** | **str** | Python expression to be evaluated in order to determine the default value for this setting. | [optional] -**eval_on_submit** | [**AvailableJobSettingEvalOnSubmit**](AvailableJobSettingEvalOnSubmit.md) | | [optional] +**eval_info** | [**AvailableJobSettingEvalInfo**](AvailableJobSettingEvalInfo.md) | | [optional] **visible** | [**AvailableJobSettingVisibility**](AvailableJobSettingVisibility.md) | | [optional] **required** | **bool** | Whether to immediately reject a job definition, of this type, without this particular setting. | [optional] if omitted the server will use the default value of False **editable** | **bool** | Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. | [optional] if omitted the server will use the default value of False diff --git a/addon/flamenco/manager/docs/AvailableJobSettingEvalInfo.md b/addon/flamenco/manager/docs/AvailableJobSettingEvalInfo.md new file mode 100644 index 00000000..6385f641 --- /dev/null +++ b/addon/flamenco/manager/docs/AvailableJobSettingEvalInfo.md @@ -0,0 +1,14 @@ +# AvailableJobSettingEvalInfo + +Meta-data for the 'eval' expression. + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**show_link_button** | **bool** | Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. | defaults to False +**description** | **str** | Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). | defaults to "" +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md b/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md deleted file mode 100644 index 38844352..00000000 --- a/addon/flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md +++ /dev/null @@ -1,14 +0,0 @@ -# AvailableJobSettingEvalOnSubmit - -Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**show_button** | **bool** | Enable or disable the 'eval on submit' toggle button. | -**placeholder** | **str** | Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). | -**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/addon/flamenco/manager/model/available_job_setting.py b/addon/flamenco/manager/model/available_job_setting.py index 03ef681a..dd023102 100644 --- a/addon/flamenco/manager/model/available_job_setting.py +++ b/addon/flamenco/manager/model/available_job_setting.py @@ -30,11 +30,11 @@ from flamenco.manager.exceptions import ApiAttributeError def lazy_import(): - from flamenco.manager.model.available_job_setting_eval_on_submit import AvailableJobSettingEvalOnSubmit + from flamenco.manager.model.available_job_setting_eval_info import AvailableJobSettingEvalInfo from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility - globals()['AvailableJobSettingEvalOnSubmit'] = AvailableJobSettingEvalOnSubmit + globals()['AvailableJobSettingEvalInfo'] = AvailableJobSettingEvalInfo globals()['AvailableJobSettingSubtype'] = AvailableJobSettingSubtype globals()['AvailableJobSettingType'] = AvailableJobSettingType globals()['AvailableJobSettingVisibility'] = AvailableJobSettingVisibility @@ -101,7 +101,7 @@ class AvailableJobSetting(ModelNormal): 'description': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'default': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 'eval': (str,), # noqa: E501 - 'eval_on_submit': (AvailableJobSettingEvalOnSubmit,), # noqa: E501 + 'eval_info': (AvailableJobSettingEvalInfo,), # noqa: E501 'visible': (AvailableJobSettingVisibility,), # noqa: E501 'required': (bool,), # noqa: E501 'editable': (bool,), # noqa: E501 @@ -121,7 +121,7 @@ class AvailableJobSetting(ModelNormal): 'description': 'description', # noqa: E501 'default': 'default', # noqa: E501 'eval': 'eval', # noqa: E501 - 'eval_on_submit': 'evalOnSubmit', # noqa: E501 + 'eval_info': 'evalInfo', # noqa: E501 'visible': 'visible', # noqa: E501 'required': 'required', # noqa: E501 'editable': 'editable', # noqa: E501 @@ -178,7 +178,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - eval_on_submit (AvailableJobSettingEvalOnSubmit): [optional] # noqa: E501 + eval_info (AvailableJobSettingEvalInfo): [optional] # noqa: E501 visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 @@ -275,7 +275,7 @@ class AvailableJobSetting(ModelNormal): description (bool, date, datetime, dict, float, int, list, str, none_type): The description/tooltip shown in the user interface.. [optional] # noqa: E501 default (bool, date, datetime, dict, float, int, list, str, none_type): The default value shown to the user when determining this setting.. [optional] # noqa: E501 eval (str): Python expression to be evaluated in order to determine the default value for this setting.. [optional] # noqa: E501 - eval_on_submit (AvailableJobSettingEvalOnSubmit): [optional] # noqa: E501 + eval_info (AvailableJobSettingEvalInfo): [optional] # noqa: E501 visible (AvailableJobSettingVisibility): [optional] # noqa: E501 required (bool): Whether to immediately reject a job definition, of this type, without this particular setting. . [optional] if omitted the server will use the default value of False # noqa: E501 editable (bool): Whether to allow editing this setting after the job has been submitted. Would imply deleting all existing tasks for this job, and recompiling it. . [optional] if omitted the server will use the default value of False # noqa: E501 diff --git a/addon/flamenco/manager/model/available_job_setting_eval_on_submit.py b/addon/flamenco/manager/model/available_job_setting_eval_info.py similarity index 80% rename from addon/flamenco/manager/model/available_job_setting_eval_on_submit.py rename to addon/flamenco/manager/model/available_job_setting_eval_info.py index be53c3a6..816ef1f9 100644 --- a/addon/flamenco/manager/model/available_job_setting_eval_on_submit.py +++ b/addon/flamenco/manager/model/available_job_setting_eval_info.py @@ -30,7 +30,7 @@ from flamenco.manager.exceptions import ApiAttributeError -class AvailableJobSettingEvalOnSubmit(ModelNormal): +class AvailableJobSettingEvalInfo(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -81,8 +81,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): and the value is attribute type. """ return { - 'show_button': (bool,), # noqa: E501 - 'placeholder': (str,), # noqa: E501 + 'show_link_button': (bool,), # noqa: E501 + 'description': (str,), # noqa: E501 } @cached_property @@ -91,8 +91,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): attribute_map = { - 'show_button': 'showButton', # noqa: E501 - 'placeholder': 'placeholder', # noqa: E501 + 'show_link_button': 'showLinkButton', # noqa: E501 + 'description': 'description', # noqa: E501 } read_only_vars = { @@ -102,14 +102,14 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, show_button, placeholder, *args, **kwargs): # noqa: E501 - """AvailableJobSettingEvalOnSubmit - a model defined in OpenAPI + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """AvailableJobSettingEvalInfo - a model defined in OpenAPI Args: - show_button (bool): Enable or disable the 'eval on submit' toggle button. - placeholder (str): Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). Keyword Args: + show_link_button (bool): Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. . defaults to False # noqa: E501 + description (str): Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). . defaults to "" # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -142,6 +142,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): _visited_composed_classes = (Animal,) """ + show_link_button = kwargs.get('show_link_button', False) + description = kwargs.get('description', "") _check_type = kwargs.pop('_check_type', True) _spec_property_naming = kwargs.pop('_spec_property_naming', False) _path_to_item = kwargs.pop('_path_to_item', ()) @@ -167,8 +169,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.show_button = show_button - self.placeholder = placeholder + self.show_link_button = show_link_button + self.description = description for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -189,14 +191,14 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): ]) @convert_js_args_to_python_args - def __init__(self, show_button, placeholder, *args, **kwargs): # noqa: E501 - """AvailableJobSettingEvalOnSubmit - a model defined in OpenAPI + def __init__(self, *args, **kwargs): # noqa: E501 + """AvailableJobSettingEvalInfo - a model defined in OpenAPI Args: - show_button (bool): Enable or disable the 'eval on submit' toggle button. - placeholder (str): Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). Keyword Args: + show_link_button (bool): Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. . defaults to False # noqa: E501 + description (str): Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). . defaults to "" # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -229,6 +231,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): _visited_composed_classes = (Animal,) """ + show_link_button = kwargs.get('show_link_button', False) + description = kwargs.get('description', "") _check_type = kwargs.pop('_check_type', True) _spec_property_naming = kwargs.pop('_spec_property_naming', False) _path_to_item = kwargs.pop('_path_to_item', ()) @@ -252,8 +256,8 @@ class AvailableJobSettingEvalOnSubmit(ModelNormal): self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.show_button = show_button - self.placeholder = placeholder + self.show_link_button = show_link_button + self.description = description for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/addon/flamenco/manager/models/__init__.py b/addon/flamenco/manager/models/__init__.py index 8b346ee8..46f96d3f 100644 --- a/addon/flamenco/manager/models/__init__.py +++ b/addon/flamenco/manager/models/__init__.py @@ -11,7 +11,7 @@ from flamenco.manager.model.assigned_task import AssignedTask from flamenco.manager.model.available_job_setting import AvailableJobSetting -from flamenco.manager.model.available_job_setting_eval_on_submit import AvailableJobSettingEvalOnSubmit +from flamenco.manager.model.available_job_setting_eval_info import AvailableJobSettingEvalInfo from flamenco.manager.model.available_job_setting_subtype import AvailableJobSettingSubtype from flamenco.manager.model.available_job_setting_type import AvailableJobSettingType from flamenco.manager.model.available_job_setting_visibility import AvailableJobSettingVisibility diff --git a/addon/flamenco/manager_README.md b/addon/flamenco/manager_README.md index e31242bc..95e14064 100644 --- a/addon/flamenco/manager_README.md +++ b/addon/flamenco/manager_README.md @@ -134,7 +134,7 @@ Class | Method | HTTP request | Description - [AssignedTask](flamenco/manager/docs/AssignedTask.md) - [AvailableJobSetting](flamenco/manager/docs/AvailableJobSetting.md) - - [AvailableJobSettingEvalOnSubmit](flamenco/manager/docs/AvailableJobSettingEvalOnSubmit.md) + - [AvailableJobSettingEvalInfo](flamenco/manager/docs/AvailableJobSettingEvalInfo.md) - [AvailableJobSettingSubtype](flamenco/manager/docs/AvailableJobSettingSubtype.md) - [AvailableJobSettingType](flamenco/manager/docs/AvailableJobSettingType.md) - [AvailableJobSettingVisibility](flamenco/manager/docs/AvailableJobSettingVisibility.md) diff --git a/pkg/api/openapi_spec.gen.go b/pkg/api/openapi_spec.gen.go index 0c90b1c3..637505af 100644 --- a/pkg/api/openapi_spec.gen.go +++ b/pkg/api/openapi_spec.gen.go @@ -18,222 +18,223 @@ import ( // Base64 encoded, gzipped, json marshaled Swagger object var swaggerSpec = []string{ - "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", + "0vU//fbp/wUAAP//QMYS9PwEAQA=", } // GetSwagger returns the content of the embedded swagger specification file diff --git a/pkg/api/openapi_types.gen.go b/pkg/api/openapi_types.gen.go index b6d43236..a73f108c 100644 --- a/pkg/api/openapi_types.gen.go +++ b/pkg/api/openapi_types.gen.go @@ -174,15 +174,15 @@ type AvailableJobSetting struct { // Python expression to be evaluated in order to determine the default value for this setting. Eval *string `json:"eval,omitempty"` - // Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. - // An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. - EvalOnSubmit *struct { - // Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). - Placeholder string `json:"placeholder"` + // Meta-data for the 'eval' expression. + EvalInfo *struct { + // Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + Description string `json:"description"` - // Enable or disable the 'eval on submit' toggle button. - ShowButton bool `json:"showButton"` - } `json:"evalOnSubmit,omitempty"` + // Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. + // An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + ShowLinkButton bool `json:"showLinkButton"` + } `json:"evalInfo,omitempty"` // Identifier for the setting, must be unique within the job type. Key string `json:"key"` diff --git a/web/app/src/manager-api/index.js b/web/app/src/manager-api/index.js index 2b9290e9..3d6e4fa9 100644 --- a/web/app/src/manager-api/index.js +++ b/web/app/src/manager-api/index.js @@ -15,7 +15,7 @@ import ApiClient from './ApiClient'; import AssignedTask from './model/AssignedTask'; import AvailableJobSetting from './model/AvailableJobSetting'; -import AvailableJobSettingEvalOnSubmit from './model/AvailableJobSettingEvalOnSubmit'; +import AvailableJobSettingEvalInfo from './model/AvailableJobSettingEvalInfo'; import AvailableJobSettingSubtype from './model/AvailableJobSettingSubtype'; import AvailableJobSettingType from './model/AvailableJobSettingType'; import AvailableJobSettingVisibility from './model/AvailableJobSettingVisibility'; @@ -146,10 +146,10 @@ export { AvailableJobSetting, /** - * The AvailableJobSettingEvalOnSubmit model constructor. - * @property {module:model/AvailableJobSettingEvalOnSubmit} + * The AvailableJobSettingEvalInfo model constructor. + * @property {module:model/AvailableJobSettingEvalInfo} */ - AvailableJobSettingEvalOnSubmit, + AvailableJobSettingEvalInfo, /** * The AvailableJobSettingSubtype model constructor. diff --git a/web/app/src/manager-api/model/AvailableJobSetting.js b/web/app/src/manager-api/model/AvailableJobSetting.js index 9b9ac834..eb066413 100644 --- a/web/app/src/manager-api/model/AvailableJobSetting.js +++ b/web/app/src/manager-api/model/AvailableJobSetting.js @@ -12,7 +12,7 @@ */ import ApiClient from '../ApiClient'; -import AvailableJobSettingEvalOnSubmit from './AvailableJobSettingEvalOnSubmit'; +import AvailableJobSettingEvalInfo from './AvailableJobSettingEvalInfo'; import AvailableJobSettingSubtype from './AvailableJobSettingSubtype'; import AvailableJobSettingType from './AvailableJobSettingType'; import AvailableJobSettingVisibility from './AvailableJobSettingVisibility'; @@ -80,8 +80,8 @@ class AvailableJobSetting { if (data.hasOwnProperty('eval')) { obj['eval'] = ApiClient.convertToType(data['eval'], 'String'); } - if (data.hasOwnProperty('evalOnSubmit')) { - obj['evalOnSubmit'] = AvailableJobSettingEvalOnSubmit.constructFromObject(data['evalOnSubmit']); + if (data.hasOwnProperty('evalInfo')) { + obj['evalInfo'] = AvailableJobSettingEvalInfo.constructFromObject(data['evalInfo']); } if (data.hasOwnProperty('visible')) { obj['visible'] = AvailableJobSettingVisibility.constructFromObject(data['visible']); @@ -146,9 +146,9 @@ AvailableJobSetting.prototype['default'] = undefined; AvailableJobSetting.prototype['eval'] = undefined; /** - * @member {module:model/AvailableJobSettingEvalOnSubmit} evalOnSubmit + * @member {module:model/AvailableJobSettingEvalInfo} evalInfo */ -AvailableJobSetting.prototype['evalOnSubmit'] = undefined; +AvailableJobSetting.prototype['evalInfo'] = undefined; /** * @member {module:model/AvailableJobSettingVisibility} visible diff --git a/web/app/src/manager-api/model/AvailableJobSettingEvalInfo.js b/web/app/src/manager-api/model/AvailableJobSettingEvalInfo.js new file mode 100644 index 00000000..7a5b72a1 --- /dev/null +++ b/web/app/src/manager-api/model/AvailableJobSettingEvalInfo.js @@ -0,0 +1,88 @@ +/** + * Flamenco manager + * Render Farm manager API + * + * The version of the OpenAPI document: 1.0.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + * + */ + +import ApiClient from '../ApiClient'; + +/** + * The AvailableJobSettingEvalInfo model module. + * @module model/AvailableJobSettingEvalInfo + * @version 0.0.0 + */ +class AvailableJobSettingEvalInfo { + /** + * Constructs a new AvailableJobSettingEvalInfo. + * Meta-data for the 'eval' expression. + * @alias module:model/AvailableJobSettingEvalInfo + * @param showLinkButton {Boolean} Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + * @param description {String} Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + */ + constructor(showLinkButton, description) { + + AvailableJobSettingEvalInfo.initialize(this, showLinkButton, description); + } + + /** + * Initializes the fields of this object. + * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). + * Only for internal use. + */ + static initialize(obj, showLinkButton, description) { + obj['showLinkButton'] = showLinkButton || false; + obj['description'] = description || ''; + } + + /** + * Constructs a AvailableJobSettingEvalInfo from a plain JavaScript object, optionally creating a new instance. + * Copies all relevant properties from data to obj if supplied or a new instance if not. + * @param {Object} data The plain JavaScript object bearing properties of interest. + * @param {module:model/AvailableJobSettingEvalInfo} obj Optional instance to populate. + * @return {module:model/AvailableJobSettingEvalInfo} The populated AvailableJobSettingEvalInfo instance. + */ + static constructFromObject(data, obj) { + if (data) { + obj = obj || new AvailableJobSettingEvalInfo(); + + if (data.hasOwnProperty('showLinkButton')) { + obj['showLinkButton'] = ApiClient.convertToType(data['showLinkButton'], 'Boolean'); + } + if (data.hasOwnProperty('description')) { + obj['description'] = ApiClient.convertToType(data['description'], 'String'); + } + } + return obj; + } + + +} + +/** + * Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'description' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. + * @member {Boolean} showLinkButton + * @default false + */ +AvailableJobSettingEvalInfo.prototype['showLinkButton'] = false; + +/** + * Description of what the 'eval' expression is doing. It is also used as placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). + * @member {String} description + * @default '' + */ +AvailableJobSettingEvalInfo.prototype['description'] = ''; + + + + + + +export default AvailableJobSettingEvalInfo; + diff --git a/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js b/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js deleted file mode 100644 index 41c6939a..00000000 --- a/web/app/src/manager-api/model/AvailableJobSettingEvalOnSubmit.js +++ /dev/null @@ -1,86 +0,0 @@ -/** - * Flamenco manager - * Render Farm manager API - * - * The version of the OpenAPI document: 1.0.0 - * - * - * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). - * https://openapi-generator.tech - * Do not edit the class manually. - * - */ - -import ApiClient from '../ApiClient'; - -/** - * The AvailableJobSettingEvalOnSubmit model module. - * @module model/AvailableJobSettingEvalOnSubmit - * @version 0.0.0 - */ -class AvailableJobSettingEvalOnSubmit { - /** - * Constructs a new AvailableJobSettingEvalOnSubmit. - * Enables the 'eval on submit' toggle button behavior for this setting. A toggle button will be shown in Blender's submission interface. When toggled on, the `eval` expression will determine the setting's value. Manually editing the setting is then no longer possible, and instead of an input field, the 'placeholder' string is shown. An example use is the to-be-rendered frame range, which by default automatically follows the scene range, but can be overridden manually when desired. - * @alias module:model/AvailableJobSettingEvalOnSubmit - * @param showButton {Boolean} Enable or disable the 'eval on submit' toggle button. - * @param placeholder {String} Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). - */ - constructor(showButton, placeholder) { - - AvailableJobSettingEvalOnSubmit.initialize(this, showButton, placeholder); - } - - /** - * Initializes the fields of this object. - * This method is used by the constructors of any subclasses, in order to implement multiple inheritance (mix-ins). - * Only for internal use. - */ - static initialize(obj, showButton, placeholder) { - obj['showButton'] = showButton; - obj['placeholder'] = placeholder; - } - - /** - * Constructs a AvailableJobSettingEvalOnSubmit from a plain JavaScript object, optionally creating a new instance. - * Copies all relevant properties from data to obj if supplied or a new instance if not. - * @param {Object} data The plain JavaScript object bearing properties of interest. - * @param {module:model/AvailableJobSettingEvalOnSubmit} obj Optional instance to populate. - * @return {module:model/AvailableJobSettingEvalOnSubmit} The populated AvailableJobSettingEvalOnSubmit instance. - */ - static constructFromObject(data, obj) { - if (data) { - obj = obj || new AvailableJobSettingEvalOnSubmit(); - - if (data.hasOwnProperty('showButton')) { - obj['showButton'] = ApiClient.convertToType(data['showButton'], 'Boolean'); - } - if (data.hasOwnProperty('placeholder')) { - obj['placeholder'] = ApiClient.convertToType(data['placeholder'], 'String'); - } - } - return obj; - } - - -} - -/** - * Enable or disable the 'eval on submit' toggle button. - * @member {Boolean} showButton - */ -AvailableJobSettingEvalOnSubmit.prototype['showButton'] = undefined; - -/** - * Placeholder text to show when the manual input field is hidden (because eval-on-submit has been toggled on by the user). - * @member {String} placeholder - */ -AvailableJobSettingEvalOnSubmit.prototype['placeholder'] = undefined; - - - - - - -export default AvailableJobSettingEvalOnSubmit; -