@wavemaker/app-rn-runtime 11.4.0-next.25703 → 11.4.0-next.25705

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. app-rn-runtime/components/advanced/carousel/carousel.styles.js.map +1 -1
  2. app-rn-runtime/components/basic/anchor/anchor.styles.js.map +1 -1
  3. app-rn-runtime/components/basic/button/button.component.js.map +1 -1
  4. app-rn-runtime/components/basic/buttongroup/buttongroup.component.js.map +1 -1
  5. app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
  6. app-rn-runtime/components/basic/custom/custom.component.js.map +1 -1
  7. app-rn-runtime/components/basic/icon/icon.component.js.map +1 -1
  8. app-rn-runtime/components/basic/label/label.component.js.map +1 -1
  9. app-rn-runtime/components/basic/label/label.styles.js.map +1 -1
  10. app-rn-runtime/components/basic/picture/picture.component.js.map +1 -1
  11. app-rn-runtime/components/basic/picture/picture.styles.js.map +1 -1
  12. app-rn-runtime/components/container/container.component.js.map +1 -1
  13. app-rn-runtime/components/container/linearlayout/linearlayout.component.js +1 -0
  14. app-rn-runtime/components/container/linearlayout/linearlayout.component.js.map +1 -1
  15. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -2
  16. app-rn-runtime/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
  17. app-rn-runtime/components/data/card/card.styles.js.map +1 -1
  18. app-rn-runtime/components/data/form/form-action/form-action.component.js +1 -0
  19. app-rn-runtime/components/data/form/form-action/form-action.component.js.map +1 -1
  20. app-rn-runtime/components/data/form/form-action/form-action.props.js +3 -1
  21. app-rn-runtime/components/data/form/form-action/form-action.props.js.map +1 -1
  22. app-rn-runtime/components/data/form/form-field/form-field.component.js +21 -0
  23. app-rn-runtime/components/data/form/form-field/form-field.component.js.map +1 -1
  24. app-rn-runtime/components/data/form/form-field/form-field.props.js +8 -0
  25. app-rn-runtime/components/data/form/form-field/form-field.props.js.map +1 -1
  26. app-rn-runtime/components/data/form/form.component.js +92 -1
  27. app-rn-runtime/components/data/form/form.component.js.map +1 -1
  28. app-rn-runtime/components/data/form/form.props.js +2 -0
  29. app-rn-runtime/components/data/form/form.props.js.map +1 -1
  30. app-rn-runtime/components/data/form/form.styles.js +6 -0
  31. app-rn-runtime/components/data/form/form.styles.js.map +1 -1
  32. app-rn-runtime/components/data/list/list.styles.js.map +1 -1
  33. app-rn-runtime/components/data/liveform/liveform.component.js +102 -0
  34. app-rn-runtime/components/data/liveform/liveform.component.js.map +1 -0
  35. app-rn-runtime/components/dialogs/alertdialog/alertdialog.styles.js.map +1 -1
  36. app-rn-runtime/components/input/baseinput/baseinput.component.js +2 -2
  37. app-rn-runtime/components/input/baseinput/baseinput.component.js.map +1 -1
  38. app-rn-runtime/components/input/checkbox/checkbox.styles.js.map +1 -1
  39. app-rn-runtime/components/input/checkboxset/checkboxset.styles.js.map +1 -1
  40. app-rn-runtime/components/input/epoch/base-datetime.component.js.map +1 -1
  41. app-rn-runtime/components/input/epoch/datetime/datetime.styles.js.map +1 -1
  42. app-rn-runtime/components/input/radioset/radioset.styles.js.map +1 -1
  43. app-rn-runtime/components/input/text/text.styles.js.map +1 -1
  44. app-rn-runtime/components/input/textarea/textarea.styles.js.map +1 -1
  45. app-rn-runtime/components/navigation/appnavbar/appnavbar.styles.js.map +1 -1
  46. app-rn-runtime/components/navigation/menu/menu.component.js.map +1 -1
  47. app-rn-runtime/components/navigation/menu/menu.styles.js.map +1 -1
  48. app-rn-runtime/components/navigation/popover/popover.styles.js.map +1 -1
  49. app-rn-runtime/core/formatters.js.map +1 -1
  50. app-rn-runtime/core/utils.js +4 -0
  51. app-rn-runtime/core/utils.js.map +1 -1
  52. app-rn-runtime/package.json +38 -38
  53. app-rn-runtime/runtime/base-fragment.component.js +13 -0
  54. app-rn-runtime/runtime/base-fragment.component.js.map +1 -1
  55. app-rn-runtime/runtime/base-prefab.component.js +4 -2
  56. app-rn-runtime/runtime/base-prefab.component.js.map +1 -1
  57. app-rn-runtime/runtime/watcher.js +3 -1
  58. app-rn-runtime/runtime/watcher.js.map +1 -1
  59. app-rn-runtime/styles/theme.js +4 -2
  60. app-rn-runtime/styles/theme.js.map +1 -1
  61. app-rn-runtime/styles/theme.variables.js +3 -1
  62. app-rn-runtime/styles/theme.variables.js.map +1 -1
  63. app-rn-runtime/variables/http.service.js +6 -2
  64. app-rn-runtime/variables/http.service.js.map +1 -1
  65. app-rn-runtime/variables/live-variable.js +115 -0
  66. app-rn-runtime/variables/live-variable.js.map +1 -0
  67. app-rn-runtime/variables/service-variable.js +6 -1
  68. app-rn-runtime/variables/service-variable.js.map +1 -1
  69. app-rn-runtime/variables/utils/variable.utils.js.map +1 -1
@@ -6,9 +6,11 @@ export default class WmFormActionProps extends BaseProps {
6
6
  constructor() {
7
7
  super(...arguments);
8
8
  _defineProperty(this, "displayName", '');
9
- _defineProperty(this, "formkey", '');
9
+ _defineProperty(this, "formKey", '');
10
10
  _defineProperty(this, "action", '');
11
+ _defineProperty(this, "show", true);
11
12
  _defineProperty(this, "iconclass", void 0);
13
+ _defineProperty(this, "updateMode", true);
12
14
  _defineProperty(this, "formAction", null);
13
15
  }
14
16
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormActionProps","constructor","arguments","_defineProperty"],"sources":["form-action.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormActionProps extends BaseProps {\n displayName: string = '';\n formkey: string = '';\n action: any = '';\n iconclass: any;\n formAction: Function = null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sBACjC,EAAE;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA;IAAAA,eAAA,qBAEO,IAAI;EAAA;AAC7B"}
1
+ {"version":3,"names":["BaseProps","WmFormActionProps","constructor","arguments","_defineProperty"],"sources":["form-action.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormActionProps extends BaseProps {\n displayName: string = '';\n formKey: string = '';\n action: any = '';\n show: boolean = true;\n iconclass: any;\n updateMode: boolean = true;\n formAction: Function = null as any;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,iBAAiB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,sBACjC,EAAE;IAAAA,eAAA,kBACN,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,eACA,IAAI;IAAAA,eAAA;IAAAA,eAAA,qBAEE,IAAI;IAAAA,eAAA,qBACH,IAAI;EAAA;AAC7B"}
@@ -117,6 +117,15 @@ export default class WmFormField extends BaseComponent {
117
117
  }
118
118
  });
119
119
  }
120
+ updateFormWidgetDataset(res, displayField) {
121
+ this.formwidget.updateState({
122
+ props: {
123
+ dataset: res.data,
124
+ datafield: 'All Fields',
125
+ displayfield: this.formwidget.state.props.displayfield || displayField
126
+ }
127
+ });
128
+ }
120
129
  setInvalidState(msg) {
121
130
  this.updateState({
122
131
  isValid: false,
@@ -143,8 +152,20 @@ export default class WmFormField extends BaseComponent {
143
152
  get(this, 'form') && this.form.applyDefaultValue(this);
144
153
  }
145
154
  break;
155
+ case 'primary-key':
156
+ if ($new) {
157
+ this.form.setPrimaryKey(this.props.name);
158
+ }
159
+ break;
146
160
  }
147
161
  }
162
+ setReadOnlyState(updateMode) {
163
+ this.formwidget.updateState({
164
+ props: {
165
+ readonly: !updateMode
166
+ }
167
+ });
168
+ }
148
169
  validateFormField() {
149
170
  var _this$formwidget, _this$_syncValidators;
150
171
  if (((_this$formwidget = this.formwidget) === null || _this$formwidget === void 0 ? void 0 : _this$formwidget.state.isValid) === false) {
@@ -1 +1 @@
1
- {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","validateFormField","updateState","datavalue","invokeEventCallback","undefined","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","_this$formwidget","_this$_syncValidators","state","_this$formwidget2","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_background","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n this.validateFormField();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n }\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n isValid: this.state.isValid,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","Text","View","BaseComponent","BaseComponentState","isEqual","get","find","cloneDeep","forEach","keys","WmFormFieldProps","DEFAULT_CLASS","PERFORMANCE_LOGGER","WmFormFieldState","constructor","arguments","_defineProperty","WmFormField","props","onFieldChangeEvt","name","$new","$old","isDefault","notifyChanges","validateFormField","updateState","datavalue","invokeEventCallback","undefined","form","updateDataOutput","call","observeOn","fields","field","formfield","formFields","f","proxy","notifyForFields","push","formwidget","validate","setTimeout","getPromiseList","validators","arr","fn","promise","Function","bind","Promise","setAsyncValidators","_asyncValidatorFn","all","then","err","validationMsg","hasOwnProperty","messageKeys","toString","setInvalidState","setValidators","_cloneValidators","_syncValidators","obj","index","key","defaultValidatorMessages","value","propsObj","updateFormWidgetDataset","res","displayField","dataset","data","datafield","displayfield","state","msg","isValid","validationmessage","onPropertyChange","debug","applyDefaultValue","setPrimaryKey","setReadOnlyState","updateMode","readonly","_this$formwidget","_this$_syncValidators","_this$formwidget2","errorType","errormsg","errorMessage","renderWidget","childrenWithProps","Children","map","renderFormFields","children","child","cloneElement","invokeEvent","triggerValidation","onFieldChange","formRef","createElement","style","styles","root","_background","errorMsg"],"sources":["form-field.component.tsx"],"sourcesContent":["import React from 'react';\nimport {Text, View} from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { isEqual, get, find, cloneDeep, forEach, keys } from 'lodash';\n\nimport WmFormFieldProps from './form-field.props';\nimport { DEFAULT_CLASS, WmFormFieldStyles } from './form-field.styles';\nimport {PERFORMANCE_LOGGER} from \"@wavemaker/app-rn-runtime/core/logger\";\n\nexport class WmFormFieldState extends BaseComponentState<WmFormFieldProps> {\n isValid = true;\n}\n\nexport default class WmFormField extends BaseComponent<WmFormFieldProps, WmFormFieldState, WmFormFieldStyles> {\n public form: any;\n public formwidget: any;\n public _syncValidators: any;\n public defaultValidatorMessages: any = [];\n private notifyForFields: any = [];\n private _asyncValidatorFn: any;\n constructor(props: WmFormFieldProps) {\n super(props, DEFAULT_CLASS, new WmFormFieldProps(), new WmFormFieldState());\n }\n\n onFieldChangeEvt(name: string, $new: any, $old: any, isDefault: boolean) {\n this.notifyChanges();\n this.validateFormField();\n if (!isEqual($old, $new)) {\n this.updateState({ props: { datavalue: $new }} as WmFormFieldState, () => {\n !isDefault && this.invokeEventCallback('onChange', [undefined, this, $new, $old]);\n });\n if (this.form) {\n this.form.updateDataOutput.call(this.form, get(this.props, 'formKey', this.props.name), $new);\n }\n }\n }\n\n // Registers observer of validation fields\n observeOn(fields: any) {\n forEach(fields, (field) => {\n const formfield = find(this.form.formFields, (f) => f.proxy.name === field);\n if (formfield) {\n formfield.notifyForFields.push(this);\n }\n });\n }\n\n // Notifies changes to observing validation fields\n notifyChanges() {\n forEach(this.notifyForFields, (field) => {\n field.formwidget.validate(field.formwidget.datavalue);\n setTimeout(() => field.validateFormField());\n });\n }\n\n getPromiseList(validators: any) {\n const arr: any = [];\n forEach(validators, (fn) => {\n let promise = fn;\n if (fn instanceof Function && fn.bind) {\n promise = fn(this.formwidget.proxy, this.form);\n }\n if (promise instanceof Promise) {\n arr.push(promise);\n }\n });\n return arr;\n }\n\n // this method sets the asyncValidation on the form field. Assigns validationmessages from the returned response\n setAsyncValidators(validators: any) {\n this._asyncValidatorFn = () => {\n return Promise.all(this.getPromiseList(validators)).then(() => {\n return null;\n }, err => {\n let validationMsg: string;\n // if err obj has validationMessage key, then set validationMessage using this value\n // else return the value of the first key in the err object as validation message.\n if (err.hasOwnProperty('errorMessage')) {\n validationMsg = get(err, 'errorMessage');\n } else {\n const messageKeys = keys(err);\n validationMsg = (err[messageKeys[0]]).toString();\n }\n this.setInvalidState(validationMsg);\n return err;\n })\n };\n }\n\n // sets the default validation on the form field\n setValidators(validators: any) {\n let _cloneValidators = cloneDeep(validators);\n this._syncValidators = [];\n forEach(_cloneValidators, (obj, index) => {\n // custom validation is bound to function.\n if (obj && obj instanceof Function) {\n // passing formwidget and form as arguments to the obj (i.e. validator function)\n _cloneValidators[index] = obj.bind(undefined, this.formwidget.proxy, this.form);\n this._syncValidators.push(_cloneValidators[index]);\n } else {\n // checks for default validator like required, maxchars etc.\n const key = get(obj, 'type');\n this.defaultValidatorMessages[key] = get(obj, 'errorMessage');\n const value = get(obj, 'validator');\n let propsObj: any = {\n props: {}\n };\n propsObj.props[key] = value;\n key === 'required' && this.updateState(propsObj as WmFormFieldState);\n this.formwidget.updateState(propsObj as WmFormFieldState);\n }\n });\n }\n\n updateFormWidgetDataset(res: any, displayField: string) {\n this.formwidget.updateState({\n props: {\n dataset: res.data,\n datafield: 'All Fields',\n displayfield: this.formwidget.state.props.displayfield || displayField,\n }\n } as WmFormFieldState);\n }\n\n setInvalidState(msg: string) {\n this.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState)\n this.formwidget.updateState({\n isValid: false,\n props: {\n validationmessage: msg\n }\n } as WmFormFieldState);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'datavalue':\n if (!isEqual($old, $new)) {\n PERFORMANCE_LOGGER.debug(`form field ${this.props.name} changed from ${$old} to ${$new}`);\n }\n break;\n case 'defaultvalue':\n if (!isEqual($old, $new)) {\n get(this, 'form') && this.form.applyDefaultValue(this);\n }\n break;\n case 'primary-key':\n if ($new) {\n this.form.setPrimaryKey(this.props.name);\n }\n break;\n }\n }\n\n setReadOnlyState(updateMode: any) {\n this.formwidget.updateState({\n props: {\n readonly: !updateMode,\n }\n } as WmFormFieldState);\n }\n\n validateFormField() {\n if (this.formwidget?.state.isValid === false) {\n const errorType = this.formwidget?.state?.errorType;\n let validationMsg = get(this.defaultValidatorMessages, errorType);\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.updateState({ props: {\n validationmessage: validationMsg\n }} as WmFormFieldState);\n }\n this.updateState({ isValid: false} as WmFormFieldState);\n } else {\n this.updateState({ isValid: true } as WmFormFieldState);\n }\n\n this._syncValidators?.forEach((fn: any) => {\n const errormsg = fn();\n let validationMsg = errormsg?.errorMessage;\n if (validationMsg) {\n if (validationMsg instanceof Function) {\n // passing formwidget and form as arguments to the errorMessage function.\n validationMsg = validationMsg(this.formwidget.proxy, this.form);\n }\n this.setInvalidState(validationMsg);\n }\n })\n\n this._asyncValidatorFn && this._asyncValidatorFn();\n\n }\n\n renderWidget(props: WmFormFieldProps) {\n var childrenWithProps = React.Children.map(props.renderFormFields(this.proxy).props.children, (child) => {\n return React.cloneElement(child, {\n datavalue: props.datavalue,\n isValid: this.state.isValid,\n invokeEvent: this.invokeEventCallback.bind(this),\n triggerValidation: this.validateFormField.bind(this),\n onFieldChange: this.onFieldChangeEvt.bind(this),\n formRef: props.formRef });\n });\n return (\n <View style={this.styles.root}>{this._background}{childrenWithProps}\n {this.state.isValid === false && <Text style={this.styles.errorMsg}>{props.validationmessage}</Text>}\n </View>\n );\n }\n}\n"],"mappings":"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"}
@@ -8,14 +8,22 @@ export default class WmFormFieldProps extends BaseProps {
8
8
  _defineProperty(this, "children", void 0);
9
9
  _defineProperty(this, "formRef", void 0);
10
10
  _defineProperty(this, "defaultvalue", void 0);
11
+ _defineProperty(this, "generator", '');
11
12
  _defineProperty(this, "datavalue", void 0);
12
13
  _defineProperty(this, "onChange", void 0);
13
14
  _defineProperty(this, "renderFormFields", void 0);
14
15
  _defineProperty(this, "validationmessage", void 0);
15
16
  _defineProperty(this, "required", false);
17
+ _defineProperty(this, "primaryKey", false);
18
+ _defineProperty(this, "isRelated", void 0);
16
19
  _defineProperty(this, "widget", void 0);
17
20
  _defineProperty(this, "onFieldChange", void 0);
18
21
  _defineProperty(this, "formKey", '');
22
+ _defineProperty(this, "dataset", void 0);
23
+ _defineProperty(this, "displayfield", void 0);
24
+ _defineProperty(this, "datafield", '');
25
+ _defineProperty(this, "isDataSetBound", false);
26
+ _defineProperty(this, "readonly", false);
19
27
  _defineProperty(this, "onValidate", void 0);
20
28
  }
21
29
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","arguments","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n defaultvalue: any;\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n onValidate?: Function;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAQlC,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAGP,EAAE;IAAAA,eAAA;EAAA;AAEtB"}
1
+ {"version":3,"names":["BaseProps","WmFormFieldProps","constructor","arguments","_defineProperty"],"sources":["form-field.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormFieldProps extends BaseProps {\n children: any;\n formRef: any;\n defaultvalue: any;\n generator: string = '';\n datavalue: any;\n onChange: any;\n renderFormFields: any;\n validationmessage: any;\n required: Boolean = false;\n primaryKey: Boolean = false;\n isRelated: any;\n widget: any;\n onFieldChange: any;\n formKey: string = '';\n dataset: any;\n displayfield: any;\n datafield: string = '';\n isDataSetBound: boolean = false;\n readonly: boolean = false;\n onValidate?: Function;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,gBAAgB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAIlC,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,mBAKF,KAAK;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kBAIT,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,oBAGA,EAAE;IAAAA,eAAA,yBACI,KAAK;IAAAA,eAAA,mBACX,KAAK;IAAAA,eAAA;EAAA;AAE3B"}
@@ -12,6 +12,7 @@ import WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/messag
12
12
  import { ToastConsumer } from '@wavemaker/app-rn-runtime/core/toast.service';
13
13
  import WmFormProps from './form.props';
14
14
  import { DEFAULT_CLASS } from './form.styles';
15
+ import { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';
15
16
  export class WmFormState extends BaseComponentState {
16
17
  constructor() {
17
18
  super(...arguments);
@@ -19,6 +20,7 @@ export class WmFormState extends BaseComponentState {
19
20
  _defineProperty(this, "type", 'success');
20
21
  _defineProperty(this, "message", '');
21
22
  _defineProperty(this, "showInlineMsg", false);
23
+ _defineProperty(this, "isUpdateMode", true);
22
24
  }
23
25
  }
24
26
  export default class WmForm extends BaseComponent {
@@ -31,6 +33,9 @@ export default class WmForm extends BaseComponent {
31
33
  _defineProperty(this, "formfields", {});
32
34
  _defineProperty(this, "formdataoutput", void 0);
33
35
  _defineProperty(this, "toaster", void 0);
36
+ _defineProperty(this, "formActions", []);
37
+ _defineProperty(this, "primaryKey", []);
38
+ _defineProperty(this, "buttonArray", []);
34
39
  _defineProperty(this, "formWidgets", {});
35
40
  _defineProperty(this, "_debouncedSubmitForm", debounce(this.handleSubmit, 250));
36
41
  }
@@ -48,6 +53,31 @@ export default class WmForm extends BaseComponent {
48
53
  current = current.parent;
49
54
  }
50
55
  }
56
+ setReadonlyFields() {
57
+ var _this$formFields;
58
+ (_this$formFields = this.formFields) === null || _this$formFields === void 0 ? void 0 : _this$formFields.forEach(field => {
59
+ field.setReadOnlyState(this.state.isUpdateMode);
60
+ });
61
+ }
62
+ setReadonlyState(updateMode) {
63
+ this.updateState({
64
+ isUpdateMode: updateMode
65
+ });
66
+ setTimeout(() => {
67
+ this.showActions();
68
+ this.setReadonlyFields();
69
+ }, 100);
70
+ }
71
+ edit() {
72
+ this.setReadonlyState(true);
73
+ }
74
+ new() {
75
+ this.setReadonlyState(true);
76
+ }
77
+ cancel() {
78
+ this.setReadonlyState(false);
79
+ }
80
+ delete() {}
51
81
  registerFormFields(formFields, formWidgets) {
52
82
  forEach(formFields, w => {
53
83
  if (!w.form) {
@@ -62,6 +92,7 @@ export default class WmForm extends BaseComponent {
62
92
  set(this.formfields, f.props.name, f);
63
93
  }
64
94
  });
95
+ this.setReadonlyFields();
65
96
  this.applyFormData();
66
97
  this.applyDefaultValue();
67
98
 
@@ -74,6 +105,37 @@ export default class WmForm extends BaseComponent {
74
105
  set(this.formdataoutput, name, w.props.datavalue);
75
106
  }
76
107
  });
108
+ this.updateState({
109
+ props: {
110
+ dataoutput: this.formdataoutput
111
+ }
112
+ });
113
+ }
114
+ }
115
+ showActions() {
116
+ var _this$buttonArray;
117
+ (_this$buttonArray = this.buttonArray) === null || _this$buttonArray === void 0 ? void 0 : _this$buttonArray.forEach(action => {
118
+ action.updateState({
119
+ props: {
120
+ show: action.updateMode === this.state.isUpdateMode
121
+ }
122
+ });
123
+ });
124
+ }
125
+ registerFormActions(formActions) {
126
+ this.buttonArray = formActions;
127
+ this.showActions();
128
+ }
129
+ _updateFieldOnDataSourceChange(field, formFields) {
130
+ if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {
131
+ if (field.state.props.isRelated) {
132
+ field.updateState({
133
+ props: {
134
+ isDataSetBound: true
135
+ }
136
+ });
137
+ this.props.relatedData && this.props.relatedData(field);
138
+ }
77
139
  }
78
140
  }
79
141
  applyFormData() {
@@ -125,6 +187,9 @@ export default class WmForm extends BaseComponent {
125
187
  }
126
188
  }
127
189
  }
190
+ get dataoutput() {
191
+ return this.formdataoutput;
192
+ }
128
193
  applyDefaultValue(formField) {
129
194
  if (formField) {
130
195
  this.updateFormFieldDefaultValue(formField);
@@ -167,11 +232,32 @@ export default class WmForm extends BaseComponent {
167
232
  this._debouncedSubmitForm();
168
233
  }
169
234
  onPropertyChange(name, $new, $old) {
235
+ var _this$formFields2;
170
236
  switch (name) {
171
237
  case 'formdata':
172
238
  if ($new) {
173
239
  this.applyFormData();
174
240
  }
241
+ break;
242
+ case 'defaultmode':
243
+ this.updateState({
244
+ isUpdateMode: $new && $new === 'Edit' ? true : false
245
+ });
246
+ break;
247
+ case 'dataset':
248
+ (_this$formFields2 = this.formFields) === null || _this$formFields2 === void 0 ? void 0 : _this$formFields2.forEach(w => {
249
+ this._updateFieldOnDataSourceChange(w, this.formFields);
250
+ });
251
+ break;
252
+ }
253
+ }
254
+ setPrimaryKey(fieldName) {
255
+ /*Store the primary key of data*/
256
+ this.primaryKey = this.primaryKey || [];
257
+ // @ts-ignore
258
+ if (this.primaryKey.indexOf(fieldName) === -1) {
259
+ // @ts-ignore
260
+ this.primaryKey.push(fieldName);
175
261
  }
176
262
  }
177
263
  // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default
@@ -181,7 +267,7 @@ export default class WmForm extends BaseComponent {
181
267
  const val = field === null || field === void 0 ? void 0 : field.state.props.datavalue;
182
268
  const onValidate = get(field, 'props.onValidate');
183
269
  onValidate && onValidate(field);
184
- if (!val && field !== null && field !== void 0 && field.state.props.required) {
270
+ if (!val && field !== null && field !== void 0 && field.state.props.required && field.state.props.generator === 'assigned') {
185
271
  isValid = false;
186
272
  const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;
187
273
  field.updateState({
@@ -246,6 +332,11 @@ export default class WmForm extends BaseComponent {
246
332
  }
247
333
  });
248
334
  this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);
335
+ this.updateState({
336
+ props: {
337
+ dataoutput: this.formdataoutput
338
+ }
339
+ });
249
340
  }
250
341
  toggleMessage(type, message) {
251
342
  if (this.state.props.messagelayout === 'Inline') {
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","get","set","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","WmFormState","constructor","arguments","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","registerFormFields","formFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","_this$parentFormRef","formData","state","formdata","formField","_formField$props","fw","key","setState","isDefault","updateState","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","field","invokeEventCallback","bind","undefined","formreset","ff","id","_widget","widget","isValid","reset","submit","_debouncedSubmitForm","onPropertyChange","$new","$old","validateFieldsOnSubmit","val","onValidate","required","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","dataoutput","onBeforesubmit","proxy","formSubmit","data","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","listIcon","caption","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, get, set } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n private formdataoutput: any;\n private toaster: any;\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey]) \n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n forEach(this.formFields, (ff: WmFormField) => {\n ff.updateState({\n props : {\n datavalue: ''\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: ''\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required) {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = this.state.props.dataoutput || this.formdataoutput;\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n {props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["React","View","BaseComponent","BaseComponentState","isDefined","debounce","find","forEach","get","set","WmLabel","WmIcon","WmMessage","ToastConsumer","WmFormProps","DEFAULT_CLASS","isDataSetWidget","WmFormState","constructor","arguments","_defineProperty","WmForm","props","handleSubmit","componentDidMount","getParentFormRef","parentForm","pformName","current","parent","parentFormRef","setReadonlyFields","_this$formFields","formFields","field","setReadOnlyState","state","isUpdateMode","setReadonlyState","updateMode","updateState","setTimeout","showActions","edit","new","cancel","delete","registerFormFields","formWidgets","w","form","formwidget","formKey","name","f","formfields","applyFormData","applyDefaultValue","formdataoutput","datavalue","dataoutput","_this$buttonArray","buttonArray","action","show","registerFormActions","formActions","_updateFieldOnDataSourceChange","isDataSetBound","widget","isRelated","relatedData","_this$parentFormRef","formData","formdata","formField","_formField$props","fw","key","setState","isDefault","updateFormFieldDefaultValue","dv","defaultvalue","_formField$props2","invokeEventCallback","bind","undefined","formreset","ff","id","_widget","isValid","reset","submit","_debouncedSubmitForm","onPropertyChange","$new","$old","_this$formFields2","setPrimaryKey","fieldName","primaryKey","indexOf","push","validateFieldsOnSubmit","val","onValidate","required","generator","msg","defaultValidatorMessages","validationmessage","validate","event","preventDefault","onBeforesubmit","proxy","formSubmit","data","onResultCb","error","response","status","onSuccess","postmessage","toggleMessage","onError","errormessage","updateDataOutput","Object","assign","type","message","messagelayout","showInlineMsg","toaster","showToast","placement","styles","bottom","text","hideOnClick","onMsgClose","renderWidget","createElement","toastService","style","root","_background","iconclass","title","subheading","heading","flex","flexDirection","listIcon","caption","hideclose","onClose","children"],"sources":["form.component.tsx"],"sourcesContent":["import React from 'react';\nimport { View } from 'react-native';\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { isDefined, widgetsWithUndefinedValue } from '@wavemaker/app-rn-runtime/core/utils';\nimport { debounce, find, forEach, get, set } from 'lodash';\n\nimport WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport WmFormField, { WmFormFieldState } from '@wavemaker/app-rn-runtime/components/data/form/form-field/form-field.component';\nimport WmMessage from '@wavemaker/app-rn-runtime/components/basic/message/message.component';\nimport { ToastConsumer, ToastService } from '@wavemaker/app-rn-runtime/core/toast.service';\n\nimport WmFormProps from './form.props';\nimport { DEFAULT_CLASS, WmFormStyles } from './form.styles';\nimport WmSkeleton, { createSkeleton } from '../../basic/skeleton/skeleton.component';\nimport { WmSkeletonStyles } from '../../basic/skeleton/skeleton.styles';\nimport { isDataSetWidget } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmFormAction, {\n WmFormActionState\n} from '@wavemaker/app-rn-runtime/components/data/form/form-action/form-action.component';\n\nexport class WmFormState extends BaseComponentState<WmFormProps> {\n isValid = false;\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined = 'success';\n message: string = '';\n showInlineMsg: boolean = false;\n isUpdateMode: boolean = true;\n}\nexport default class WmForm extends BaseComponent<WmFormProps, WmFormState, WmFormStyles> {\n public formFields: Array<WmFormField> = []; // contains array of direct widget elements [WmText, WmNumber, WmCurrent]\n public parentFormRef: any;\n public formfields: {[key: string]: WmFormField} = {};\n public formdataoutput: any;\n private toaster: any;\n public formActions: Array<WmFormAction> = [];\n primaryKey = [];\n buttonArray: Array<WmFormAction> = [];\n formWidgets: { [key: string]: BaseComponent<any, any, any> } = {}; // object containing key as name of formField and value as WmFormField proxy.\n constructor(props: WmFormProps) {\n super(props, DEFAULT_CLASS, new WmFormProps());\n }\n\n private _debouncedSubmitForm = debounce(this.handleSubmit, 250);\n\n componentDidMount() {\n super.componentDidMount();\n this.getParentFormRef(this.props.parentForm);\n }\n\n getParentFormRef(pformName: string) {\n let current = this.parent;\n while (current) {\n if (get(current, 'props.name') === pformName) {\n this.parentFormRef = current;\n break;\n }\n current = current.parent;\n }\n }\n\n setReadonlyFields() {\n this.formFields?.forEach((field: any) => {\n field.setReadOnlyState(this.state.isUpdateMode);\n });\n }\n\n setReadonlyState(updateMode: any) {\n this.updateState({\n isUpdateMode: updateMode,\n } as WmFormState);\n setTimeout(() => {\n this.showActions();\n this.setReadonlyFields();\n }, 100);\n }\n\n edit() {\n this.setReadonlyState(true);\n }\n\n new() {\n this.setReadonlyState(true);\n }\n\n cancel() {\n this.setReadonlyState(false);\n }\n\n delete() { }\n\n registerFormFields(\n formFields: Array<WmFormField>,\n formWidgets: { [key: string]: BaseComponent<any, any, any> }\n ) {\n forEach(formFields, (w: WmFormField) => {\n if (!w.form) {\n w.form = this;\n w.formwidget = (w.props.formKey && formWidgets[w.props.formKey])\n || (w.props.name && formWidgets[w.props.name]);\n }\n });\n\n this.formFields = formFields;\n this.formWidgets = formWidgets;\n\n formFields.forEach((f: WmFormField) => {\n if (f.props.name) {\n set(this.formfields, f.props.name, f);\n }\n })\n\n this.setReadonlyFields();\n\n this.applyFormData();\n this.applyDefaultValue();\n\n // setting default form dataoutput.\n if (!this.formdataoutput) {\n this.formdataoutput = {};\n formFields.forEach((w: WmFormField) => {\n const name = get(w.props, 'formKey') || w.props.name;\n if (name) {\n set(this.formdataoutput, name, w.props.datavalue);\n }\n });\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n }\n\n showActions () {\n this.buttonArray?.forEach((action: any) => {\n action.updateState({\n props: {\n show: action.updateMode === this.state.isUpdateMode\n }} as WmFormActionState);\n });\n }\n\n registerFormActions(formActions: Array<WmFormAction>) {\n this.buttonArray = formActions;\n this.showActions();\n }\n\n private _updateFieldOnDataSourceChange(field: WmFormField, formFields: Array<WmFormField>) {\n if (!field.state.props.isDataSetBound && isDataSetWidget(field.props.widget)) {\n if (field.state.props.isRelated) {\n field.updateState({\n props: {\n isDataSetBound: true\n }} as WmFormFieldState);\n this.props.relatedData && this.props.relatedData(field);\n }\n }\n }\n\n applyFormData() {\n let formData = this.state.props.formdata || this.parentFormRef?.state.props.formdata;\n if (!formData || (this.parentFormRef && this.state.props.formdata)) {\n return;\n }\n forEach(this.formFields, (formField: WmFormField) => {\n let fw = formField.props?.name && this.formWidgets[formField.props.name];\n if (!fw) {\n fw = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n let key = get(formField, 'formKey') || get(fw, 'props.name');\n fw && fw.setState({ isDefault: true });\n formField.updateState({\n props: {\n datavalue: get(formData, key)\n }\n } as WmFormFieldState);\n });\n }\n\n updateFormFieldDefaultValue(formField: WmFormField) {\n if (formField) {\n const dv = formField.state.props.defaultvalue;\n if (isDefined(dv) && dv !== null && this.formFields) {\n let field = formField.props?.name && this.formWidgets[formField.props.name];\n if (!field) {\n field = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === formField.props.name\n });\n }\n if (field) {\n field.setState({ isDefault: true });\n field.updateState({\n props: {\n datavalue: dv\n }\n }, this.invokeEventCallback.bind(formField, 'onFieldChange', [undefined, formField, dv]));\n }\n }\n }\n }\n\n get dataoutput() {\n return this.formdataoutput;\n }\n\n applyDefaultValue(formField?: WmFormField) {\n if (formField) {\n this.updateFormFieldDefaultValue(formField);\n return;\n }\n forEach(this.formFields, (w: WmFormField) => {\n this.updateFormFieldDefaultValue(w);\n });\n }\n\n formreset() {\n forEach(this.formFields, (ff: WmFormField) => {\n ff.updateState({\n props : {\n datavalue: ''\n }\n } as WmFormFieldState, () => {\n const id = ff.props.formKey || ff.props.name;\n if (id) {\n let widget: BaseComponent<any, any, any> | undefined | any = this.formWidgets[id];\n if (!widget) {\n widget = find(this.formWidgets, (fw: BaseComponent<any, any, any>) => {\n return get(fw, 'formfieldname') === ff.props.name\n });\n }\n widget.updateState({\n isValid: true,\n props : {\n datavalue: ''\n }\n }, () => ff.updateState({\n isValid: true\n } as WmFormFieldState));\n widget?.reset();\n }\n }\n );\n });\n }\n\n submit() {\n this._debouncedSubmitForm();\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n switch (name) {\n case 'formdata':\n if ($new) {\n this.applyFormData();\n }\n break;\n case 'defaultmode':\n this.updateState({\n isUpdateMode: $new && $new === 'Edit' ? true : false,\n } as WmFormState);\n break;\n case 'dataset':\n this.formFields?.forEach((w: WmFormField) => {\n this._updateFieldOnDataSourceChange(w, this.formFields);\n });\n break;\n }\n }\n setPrimaryKey(fieldName: string) {\n /*Store the primary key of data*/\n this.primaryKey = this.primaryKey || [];\n // @ts-ignore\n if (this.primaryKey.indexOf(fieldName) === -1) {\n // @ts-ignore\n this.primaryKey.push(fieldName);\n }\n }\n // Disable the form submit if form is in invalid state. Highlight all the invalid fields if validation type is default\n validateFieldsOnSubmit() {\n let isValid = true;\n forEach(this.formFields, (field) => {\n const val = field?.state.props.datavalue;\n\n const onValidate = get(field, 'props.onValidate');\n onValidate && onValidate(field);\n if (!val && field?.state.props.required && field.state.props.generator === 'assigned') {\n isValid = false;\n const msg = get(field.defaultValidatorMessages, 'required') || field.state.props.validationmessage;\n field.updateState({ isValid: isValid, props: {\n validationmessage: msg\n }} as WmFormFieldState);\n field.formwidget.validate && field.formwidget.validate(val);\n }\n // check for isvalid state of formwidget\n if (field.formwidget.state.isValid === false) {\n isValid = false;\n }\n });\n return isValid;\n }\n\n // @ts-ignore\n handleSubmit(event?: any) {\n event?.preventDefault();\n const formData = this.state.props.dataoutput || this.formdataoutput;\n\n if (!this.validateFieldsOnSubmit()) {\n return false;\n }\n if (this.props.onBeforesubmit) {\n this.invokeEventCallback('onBeforesubmit', [ null, this.proxy, formData ]);\n }\n if (this.props.formSubmit) {\n this.props.formSubmit(formData, ((data: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(get(data, 'params'), 'success');\n }), ((error: any) => {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n this.onResultCb(error, '');\n }));\n } else {\n this.invokeEventCallback('onSubmit', [ null, this.proxy, formData ]);\n }\n }\n\n onResultCb(response: any, status: string, event?: any) {\n this.invokeEventCallback('onResult', [ null, this.proxy, response ]);\n if (status) {\n this.invokeEventCallback('onSuccess', [ null, this.proxy, response ]);\n !this.props.onSuccess && this.state.props.postmessage && this.toggleMessage('success', this.state.props.postmessage);\n } else {\n this.invokeEventCallback('onError', [ null, this.proxy, response ]);\n !this.props.onError && this.toggleMessage('error', this.state.props.errormessage || get(response, 'message'));\n }\n }\n\n updateDataOutput(key: string, val: any) {\n const current = this.formdataoutput || {};\n if (key) {\n set(current, key, val);\n } else {\n Object.assign(current, val)\n }\n this.formdataoutput = current;\n this.updateState({ props: { dataoutput: current }} as WmFormState);\n this.parentFormRef && this.parentFormRef.updateDataOutput(undefined, this.formdataoutput);\n this.updateState({\n props: {\n dataoutput: this.formdataoutput\n }\n } as WmFormState);\n }\n\n toggleMessage(\n type: 'success' | 'warning' | 'error' | 'info' | 'loading' | undefined,\n message: string\n ) {\n if (this.state.props.messagelayout === 'Inline') {\n this.setState({\n type: type,\n message: message,\n showInlineMsg: true\n } as WmFormState)\n return;\n }\n this.toaster.showToast({\n name: this, placement: \"\", styles: {bottom: 0},\n text: message,\n type: type,\n hideOnClick: true\n });\n }\n\n onMsgClose() {\n this.setState({\n showInlineMsg: false\n } as WmFormState)\n }\n\n renderWidget(props: WmFormProps) {\n return (\n <ToastConsumer>\n {(toastService: ToastService) => {\n this.toaster = toastService;\n return <View style={this.styles.root}>\n {this._background}\n {props.iconclass || props.title || props.subheading ? (\n <View style={this.styles.heading}>\n <View style={{flex: 1, flexDirection: 'row'}}>\n <WmIcon styles={this.styles.listIcon} iconclass={props.iconclass}></WmIcon>\n <View>\n <WmLabel styles={this.styles.title} caption={props.title}></WmLabel>\n <WmLabel styles={this.styles.subheading} caption={props.subheading}></WmLabel>\n </View>\n </View>\n </View>\n ) : null}\n {this.state.showInlineMsg ? <WmMessage type={this.state.type} caption={this.state.message} hideclose={false} onClose={this.onMsgClose.bind(this)}></WmMessage> : null\n }\n {props.children}\n </View>\n }\n }\n </ToastConsumer>\n );\n }\n}\n"],"mappings":"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"}
@@ -17,6 +17,8 @@ export default class WmFormProps extends BaseProps {
17
17
  _defineProperty(this, "errormessage", 'An error occured. Please try again!');
18
18
  _defineProperty(this, "messagelayout", 'Inline');
19
19
  _defineProperty(this, "formSubmit", () => {});
20
+ _defineProperty(this, "formSuccess", () => {});
21
+ _defineProperty(this, "relatedData", () => {});
20
22
  _defineProperty(this, "onSuccess", () => {});
21
23
  _defineProperty(this, "onError", () => {});
22
24
  }
@@ -1 +1 @@
1
- {"version":3,"names":["BaseProps","WmFormProps","constructor","arguments","_defineProperty"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAK5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAID,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;EAAA;AAC9B"}
1
+ {"version":3,"names":["BaseProps","WmFormProps","constructor","arguments","_defineProperty"],"sources":["form.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class WmFormProps extends BaseProps {\n children: any;\n dataoutput: any;\n onBeforesubmit: any;\n formdata: any;\n parentForm: string = '';\n title: any;\n subheading: any;\n iconclass: any;\n postmessage: string = 'Data posted successfully';\n errormessage: string = 'An error occured. Please try again!';\n messagelayout: string = 'Inline';\n formSubmit: Function = () => {};\n formSuccess: Function = () => {};\n relatedData: Function = () => {};\n onSuccess: Function = () => {};\n onError: Function = () => {};\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,WAAW,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,qBAK5B,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,sBAID,0BAA0B;IAAAA,eAAA,uBACzB,qCAAqC;IAAAA,eAAA,wBACpC,QAAQ;IAAAA,eAAA,qBACT,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACP,MAAM,CAAC,CAAC;IAAAA,eAAA,sBACR,MAAM,CAAC,CAAC;IAAAA,eAAA,oBACV,MAAM,CAAC,CAAC;IAAAA,eAAA,kBACV,MAAM,CAAC,CAAC;EAAA;AAC9B"}
@@ -27,6 +27,12 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
27
27
  lineHeight: 18,
28
28
  color: themeVariables.formSubTitleColor
29
29
  }
30
+ },
31
+ listIcon: {
32
+ root: {
33
+ fontSize: themeVariables.heading4FontSize,
34
+ marginRight: 8
35
+ }
30
36
  }
31
37
  });
32
38
  addStyle(DEFAULT_CLASS, '', defaultStyles);
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","heading","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottomWidth","borderStyle","borderColor","formBorderColor","title","fontSize","heading4FontSize","color","formTitleColor","fontWeight","subheading","lineHeight","formSubTitleColor","marginLeft"],"sources":["form.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {WmLabelStyles} from \"@wavemaker/app-rn-runtime/components/basic/label/label.styles\";\nimport ThemeVariables from \"@wavemaker/app-rn-runtime/styles/theme.variables\";\n\nexport type WmFormStyles = BaseStyles & {\n heading: AllStyle,\n title: WmLabelStyles,\n subheading: WmLabelStyles\n};\n\nexport const DEFAULT_CLASS = 'app-form';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmFormStyles = defineStyles({\n root: {},\n text: {},\n heading : {\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 0,\n paddingRight: 0,\n borderBottomWidth: 0,\n borderStyle: 'solid',\n borderColor: themeVariables.formBorderColor\n },\n title: {\n text: {\n fontSize: themeVariables.heading4FontSize,\n color: themeVariables.formTitleColor,\n fontWeight: 'bold'\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 18,\n color: themeVariables.formSubTitleColor\n }\n } as WmLabelStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('form-action', '', {\n root: {\n marginLeft: 12\n }\n } as BaseStyles);\n});"],"mappings":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAUxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC/CM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAG;MACRC,UAAU,EAAE,EAAE;MACdC,aAAa,EAAE,EAAE;MACjBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,iBAAiB,EAAE,CAAC;MACpBC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEZ,cAAc,CAACa;IAC9B,CAAC;IACDC,KAAK,EAAE;MACLV,IAAI,EAAE;QACJW,QAAQ,EAAEf,cAAc,CAACgB,gBAAgB;QACzCC,KAAK,EAAEjB,cAAc,CAACkB,cAAc;QACpCC,UAAU,EAAE;MACd;IACF,CAAkB;IAClBC,UAAU,EAAE;MACVhB,IAAI,EAAE;QACJW,QAAQ,EAAE,EAAE;QACZM,UAAU,EAAE,EAAE;QACdJ,KAAK,EAAEjB,cAAc,CAACsB;MACxB;IACF;EACF,CAAC,CAAC;EAEFrB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE;IAC1BE,IAAI,EAAE;MACJoB,UAAU,EAAE;IACd;EACF,CAAe,CAAC;AAClB,CAAC,CAAC"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","heading","paddingTop","paddingBottom","paddingLeft","paddingRight","borderBottomWidth","borderStyle","borderColor","formBorderColor","title","fontSize","heading4FontSize","color","formTitleColor","fontWeight","subheading","lineHeight","formSubTitleColor","listIcon","marginRight","marginLeft"],"sources":["form.styles.ts"],"sourcesContent":["import BASE_THEME, {AllStyle} from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {WmLabelStyles} from \"@wavemaker/app-rn-runtime/components/basic/label/label.styles\";\nimport ThemeVariables from \"@wavemaker/app-rn-runtime/styles/theme.variables\";\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmFormStyles = BaseStyles & {\n heading: AllStyle,\n title: WmLabelStyles,\n listIcon: WmIconStyles,\n subheading: WmLabelStyles\n};\n\nexport const DEFAULT_CLASS = 'app-form';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmFormStyles = defineStyles({\n root: {},\n text: {},\n heading : {\n paddingTop: 12,\n paddingBottom: 12,\n paddingLeft: 0,\n paddingRight: 0,\n borderBottomWidth: 0,\n borderStyle: 'solid',\n borderColor: themeVariables.formBorderColor\n },\n title: {\n text: {\n fontSize: themeVariables.heading4FontSize,\n color: themeVariables.formTitleColor,\n fontWeight: 'bold'\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 18,\n color: themeVariables.formSubTitleColor\n }\n } as WmLabelStyles,\n listIcon: {\n root: {\n fontSize: themeVariables.heading4FontSize,\n marginRight: 8\n }\n } as WmIconStyles,\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n addStyle('form-action', '', {\n root: {\n marginLeft: 12\n }\n } as BaseStyles);\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAkB,wCAAwC;AAC3E,SAAqBC,YAAY,QAAQ,+CAA+C;AAYxF,OAAO,MAAMC,aAAa,GAAG,UAAU;AACvCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAA2B,GAAGL,YAAY,CAAC;IAC/CM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,OAAO,EAAG;MACRC,UAAU,EAAE,EAAE;MACdC,aAAa,EAAE,EAAE;MACjBC,WAAW,EAAE,CAAC;MACdC,YAAY,EAAE,CAAC;MACfC,iBAAiB,EAAE,CAAC;MACpBC,WAAW,EAAE,OAAO;MACpBC,WAAW,EAAEZ,cAAc,CAACa;IAC9B,CAAC;IACDC,KAAK,EAAE;MACLV,IAAI,EAAE;QACJW,QAAQ,EAAEf,cAAc,CAACgB,gBAAgB;QACzCC,KAAK,EAAEjB,cAAc,CAACkB,cAAc;QACpCC,UAAU,EAAE;MACd;IACF,CAAkB;IAClBC,UAAU,EAAE;MACVhB,IAAI,EAAE;QACJW,QAAQ,EAAE,EAAE;QACZM,UAAU,EAAE,EAAE;QACdJ,KAAK,EAAEjB,cAAc,CAACsB;MACxB;IACF,CAAkB;IAClBC,QAAQ,EAAE;MACRpB,IAAI,EAAE;QACJY,QAAQ,EAAEf,cAAc,CAACgB,gBAAgB;QACzCQ,WAAW,EAAE;MACf;IACF;EACF,CAAC,CAAC;EAEFvB,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;EAC1CD,QAAQ,CAAC,aAAa,EAAE,EAAE,EAAE;IAC1BE,IAAI,EAAE;MACJsB,UAAU,EAAE;IACd;EACF,CAAe,CAAC;AAClB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","subheading","emptyMessage","item","getStyle","shadowColor","flexDirection","paddingTop","paddingBottom","itemBgColor","borderRadius","borderStyle","selectedItem","selectedIcon","position","right","top","primaryColor","minWidth","width","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n item: AllStyle,\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n text: {},\n listIcon: {\n root: {\n marginTop: 4,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n lineHeight: 24,\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 16,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n item: {\n ...BASE_THEME.getStyle('elevate1').root,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n flexDirection: 'row',\n flex: 1,\n paddingLeft: 4,\n paddingRight: 4,\n paddingTop: 4,\n paddingBottom: 4,\n backgroundColor: themeVariables.itemBgColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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"}
1
+ {"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","listIcon","marginTop","marginRight","groupHeading","backgroundColor","groupHeadingBgColor","fontSize","paddingLeft","paddingRight","lineHeight","fontFamily","baseFont","loadingIcon","flex","alignSelf","justifyContent","color","listSubTitleColor","heading","padding","marginBottom","listHeaderBgColor","title","listTitleColor","subheading","emptyMessage","item","getStyle","shadowColor","flexDirection","paddingTop","paddingBottom","itemBgColor","borderRadius","borderStyle","selectedItem","selectedIcon","position","right","top","primaryColor","minWidth","width","borderBottomWidth","borderBottomColor","listDividerColor","borderRightWidth","borderRightColor"],"sources":["list.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport BASE_THEME, { AllStyle } from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { WmLabelStyles } from '@wavemaker/app-rn-runtime/components/basic/label/label.styles';\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\nexport type WmListStyles = BaseStyles & {\n heading: AllStyle,\n groupHeading: TextStyle,\n listIcon: WmIconStyles,\n loadingIcon: WmIconStyles,\n title: WmLabelStyles,\n subheading: WmLabelStyles,\n emptyMessage: WmLabelStyles,\n item: AllStyle,\n selectedItem: AllStyle,\n selectedIcon: WmIconStyles\n};\n\nexport const DEFAULT_CLASS = 'app-list';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: WmListStyles = defineStyles({\n root: {},\n text: {},\n listIcon: {\n root: {\n marginTop: 4,\n marginRight: 8\n }\n } as WmIconStyles,\n groupHeading: {\n backgroundColor: themeVariables.groupHeadingBgColor,\n fontSize: 16,\n paddingLeft: 8,\n paddingRight: 8,\n lineHeight: 40,\n fontFamily: themeVariables.baseFont\n },\n loadingIcon: {\n root: {\n flex: 1,\n alignSelf: 'center',\n justifyContent: 'center',\n fontSize: 16\n },\n text: {\n color: themeVariables.listSubTitleColor\n }\n } as WmIconStyles,\n heading : {\n padding: 8,\n marginBottom: 6,\n backgroundColor: themeVariables.listHeaderBgColor\n },\n title: {\n text: {\n color: themeVariables.listTitleColor,\n fontSize: 16,\n lineHeight: 24,\n }\n } as WmLabelStyles,\n subheading: {\n text: {\n fontSize: 12,\n lineHeight: 16,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n emptyMessage: {\n root: {\n flex: 1,\n alignSelf: 'center',\n fontSize: 16,\n lineHeight: 18,\n color: themeVariables.listSubTitleColor\n }\n } as WmLabelStyles,\n item: {\n ...BASE_THEME.getStyle('elevate1').root,\n shadowColor: 'rgba(0, 0, 0, 0.3)',\n flexDirection: 'row',\n flex: 1,\n paddingLeft: 4,\n paddingRight: 4,\n paddingTop: 4,\n paddingBottom: 4,\n backgroundColor: themeVariables.itemBgColor,\n borderRadius: 6,\n borderStyle: 'solid',\n },\n selectedItem : {} as AllStyle,\n selectedIcon : {\n root: {\n position: 'absolute',\n right: 0,\n top: 0\n },\n text: {\n color: themeVariables.primaryColor,\n fontSize: 16\n }\n } as WmIconStyles\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n\n addStyle('app-horizontal-list', '', {\n groupHeading: {\n minWidth: 120,\n backgroundColor: themeVariables.groupHeadingBgColor,\n },\n item: {\n marginRight: 6\n }\n } as WmListStyles);\n\n addStyle('app-vertical-list', '', {\n item: {\n marginBottom: 6,\n width: '100%',\n borderBottomWidth: 0,\n borderBottomColor: themeVariables.listDividerColor,\n }\n } as any as WmListStyles);\n\n addStyle('app-horizontal-list-dense', '', {\n item: {\n marginRight: 0,\n borderRadius: 0,\n borderRightWidth: 1,\n borderRightColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n\n addStyle('app-list-dense', '', {\n item: {\n marginBottom: 0,\n borderRadius: 0,\n borderBottomWidth: 1,\n borderBottomColor: 'rgba(0,0,0,0.05)'\n } as ViewStyle\n } as WmListStyles);\n});\n"],"mappings":"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"}