From 18079b9d30df19e435764ec80b2d00fcb561b909 Mon Sep 17 00:00:00 2001 From: SachaG Date: Thu, 1 Jun 2017 11:50:47 +0900 Subject: [PATCH] add submitLabel and cancelLabel SmartForms props; change cloudinary setting name to cloudinary --- .../vulcan-cloudinary/lib/server/cloudinary.js | 13 +++++++------ packages/vulcan-forms/lib/Form.jsx | 14 +++++++++++--- 2 files changed, 18 insertions(+), 9 deletions(-) diff --git a/packages/vulcan-cloudinary/lib/server/cloudinary.js b/packages/vulcan-cloudinary/lib/server/cloudinary.js index 80a85cc40..acb50c7f4 100644 --- a/packages/vulcan-cloudinary/lib/server/cloudinary.js +++ b/packages/vulcan-cloudinary/lib/server/cloudinary.js @@ -5,11 +5,12 @@ import { addCallback, Utils, getSetting } from 'meteor/vulcan:core'; const Cloudinary = cloudinary.v2; const uploadSync = Meteor.wrapAsync(Cloudinary.uploader.upload); +const cloudinarySettings = getSetting("cloudinary"); Cloudinary.config({ - cloud_name: getSetting("cloudinaryCloudName"), - api_key: getSetting("cloudinaryAPIKey"), - api_secret: getSetting("cloudinaryAPISecret"), + cloud_name: cloudinarySettings.cloudName, + api_key: cloudinarySettings.apiKey, + api_secret: cloudinarySettings.apiSecret, secure: true, }); @@ -33,7 +34,7 @@ const CloudinaryUtils = { // generate signed URL for each format based off public_id getUrls(cloudinaryId) { - return getSetting("cloudinaryFormats").map(format => { + return cloudinarySettings.formats.map(format => { const url = Cloudinary.url(cloudinaryId, { width: format.width, height: format.height, @@ -90,7 +91,7 @@ Meteor.methods({ // post submit callback function cachePostThumbnailOnSubmit (post) { - if (getSetting("cloudinaryAPIKey")) { + if (cloudinarySettings) { if (post.thumbnailUrl) { const data = CloudinaryUtils.uploadImage(post.thumbnailUrl); @@ -106,7 +107,7 @@ function cachePostThumbnailOnSubmit (post) { addCallback("posts.new.sync", cachePostThumbnailOnSubmit); function cachePostThumbnailOnEdit (modifier, oldPost) { - if (getSetting("cloudinaryAPIKey")) { + if (cloudinarySettings) { if (modifier.$set.thumbnailUrl && modifier.$set.thumbnailUrl !== oldPost.thumbnailUrl) { const data = CloudinaryUtils.uploadImage(modifier.$set.thumbnailUrl); modifier.$set.cloudinaryId = data.cloudinaryId; diff --git a/packages/vulcan-forms/lib/Form.jsx b/packages/vulcan-forms/lib/Form.jsx index 0006b79e6..502eeaf0a 100644 --- a/packages/vulcan-forms/lib/Form.jsx +++ b/packages/vulcan-forms/lib/Form.jsx @@ -60,6 +60,7 @@ class Form extends Component { this.mutationErrorCallback = this.mutationErrorCallback.bind(this); this.addToAutofilledValues = this.addToAutofilledValues.bind(this); this.addToDeletedValues = this.addToDeletedValues.bind(this); + this.addToSubmitForm = this.addToSubmitForm.bind(this); this.throwError = this.throwError.bind(this); this.clearForm = this.clearForm.bind(this); this.updateCurrentValues = this.updateCurrentValues.bind(this); @@ -380,6 +381,7 @@ class Form extends Component { updateCurrentValues: this.updateCurrentValues, getDocument: this.getDocument, setFormState: this.setFormState, + addToSubmitForm: this.addToSubmitForm, }; } @@ -450,7 +452,7 @@ class Form extends Component { // run data object through submitForm callbacks data = runCallbacks(this.submitFormCallbacks, data); - + const fields = this.getFieldNames(); // if there's a submit callback, run it @@ -529,8 +531,12 @@ class Form extends Component { > {this.renderErrors()} {fieldGroups.map(group => )} - - {this.props.cancelCallback ? : null} + +
+ + {this.props.cancelCallback ? {this.props.cancelLabel ? this.props.cancelLabel : } : null} +
+ { @@ -567,6 +573,8 @@ Form.propTypes = { layout: PropTypes.string, fields: PropTypes.arrayOf(PropTypes.string), showRemove: PropTypes.bool, + submitLabel: PropTypes.string, + cancelLabel: PropTypes.string, // callbacks submitCallback: PropTypes.func,