Wraps the key in a property that URL encodes it.

This commit is contained in:
James Phillips 2017-12-20 10:19:50 -08:00
parent 05a83fb5d5
commit bd9bd8c119
No known key found for this signature in database
GPG Key ID: 77183E682AC5FC11
1 changed files with 15 additions and 0 deletions

View File

@ -132,6 +132,21 @@ App.Key = Ember.Object.extend(Ember.Validations.Mixin, {
// Boolean if the value is valid
valueValid: Ember.computed.empty('errors.Value'),
// Escape any user-entered parts that aren't URL-safe, but put slashes back since
// they are common in keys, and the UI lets users make "folders" by simply adding
// them to keys.
Key: function(key, value) {
// setter
if (arguments.length > 1) {
clean = encodeURIComponent(decodeURIComponent(value)).replace(/%2F/g, "/")
this.set('cleanKey', clean);
return clean;
}
// getter
return this.get('cleanKey')
}.property('Key'),
// The key with the parent removed.
// This is only for display purposes, and used for
// showing the key name inside of a nested key.