Skip to content
This repository was archived by the owner on Dec 1, 2023. It is now read-only.

Commit 126f8a9

Browse files
author
Steffan
committed
v1.0.4
1 parent 1e5bc8c commit 126f8a9

File tree

4 files changed

+130
-70
lines changed

4 files changed

+130
-70
lines changed

dist/vue-fields.common.js

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -12,16 +12,21 @@
1212

1313
var debug = false, _set;
1414

15+
var assign = Object.assign || _assign;
16+
1517
var isArray = Array.isArray;
1618

17-
function Util (Vue) {
18-
_set = Vue.set;
19-
debug = Vue.config.debug || !Vue.config.silent;
19+
function Util (ref) {
20+
var set = ref.set;
21+
var config = ref.config;
22+
23+
_set = set;
24+
debug = config.debug || !config.silent;
2025
}
2126

2227
function warn(msg) {
2328
if (typeof console !== 'undefined' && debug) {
24-
console.warn(("[VueFields warn]: " + msg));
29+
console.log(("%c vue-fields %c " + msg + " "), 'color: #fff; background: #35495E; padding: 1px; border-radius: 3px 0 0 3px;', 'color: #fff; background: #DB6B00; padding: 1px; border-radius: 0 3px 3px 0;');
2530
}
2631
}
2732

@@ -71,11 +76,14 @@ function set(obj, key, val) {
7176
}
7277

7378
function evaluate(expr, context) {
79+
7480
try {
7581
return (Function(("with(this){return " + expr + "}"))).call(context);
7682
} catch (e) {
77-
return false;
83+
warn(e);
7884
}
85+
86+
return false;
7987
}
8088

8189
function each(obj, iterator) {
@@ -97,23 +105,22 @@ function each(obj, iterator) {
97105
return obj;
98106
}
99107

100-
var assign = Object.assign || function (target) {
101-
var arguments$1 = arguments;
102-
103-
104-
for (var i = 1; i < arguments.length; i++) {
108+
/**
109+
* Object.assign() polyfill.
110+
*/
111+
function _assign(target) {
112+
var sources = [], len = arguments.length - 1;
113+
while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];
105114

106-
var source = arguments$1[i];
107115

108-
for (var key in source) {
109-
if (Object.prototype.hasOwnProperty.call(source, key)) {
110-
target[key] = source[key];
111-
}
112-
}
113-
}
116+
sources.forEach(function (source) {
117+
Object.keys(source || {}).forEach(
118+
function (key) { return target[key] = source[key]; }
119+
);
120+
});
114121

115122
return target;
116-
};
123+
}
117124

118125
var Field = {
119126

@@ -288,7 +295,7 @@ var Fields = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_
288295
computed: {
289296

290297
fields: function fields() {
291-
return this.prepare(this.config, this.prefix);
298+
return this.prepare();
292299
}
293300

294301
},
@@ -304,30 +311,43 @@ var Fields = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_
304311
}
305312
},
306313

307-
evaluate: function evaluate$1(expr, values) {
314+
evaluate: function evaluate$1(expr, values, config) {
308315
if ( values === void 0 ) values = this.values;
316+
if ( config === void 0 ) config = this.config;
309317

310318

311319
if (isString(expr)) {
312-
return evaluate(expr, assign({$match: $match}, values));
320+
321+
var $values = {};
322+
var context = {$match: $match, $values: $values};
323+
324+
each(config, function (ref, key) {
325+
var name = ref.name; if ( name === void 0 ) name = key;
326+
327+
return set($values, name, get(values, name));
328+
}
329+
);
330+
331+
return evaluate(expr, assign(context, $values));
313332
}
314333

315334
return expr.call(this, values, this);
316335
},
317336

318337
prepare: function prepare(config, prefix) {
319338
var this$1 = this;
339+
if ( config === void 0 ) config = this.config;
320340
if ( prefix === void 0 ) prefix = this.prefix;
321341

322342

323343
var arr = isArray(config), fields = [];
324344

325-
each(config, function (field, name) {
345+
each(config, function (field, key) {
326346

327347
field = assign({}, field);
328348

329349
if (!field.name && !arr) {
330-
field.name = name;
350+
field.name = key;
331351
}
332352

333353
if (field.name) {

dist/vue-fields.esm.js

Lines changed: 43 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -10,16 +10,21 @@
1010

1111
var debug = false, _set;
1212

13+
var assign = Object.assign || _assign;
14+
1315
var isArray = Array.isArray;
1416

15-
function Util (Vue) {
16-
_set = Vue.set;
17-
debug = Vue.config.debug || !Vue.config.silent;
17+
function Util (ref) {
18+
var set = ref.set;
19+
var config = ref.config;
20+
21+
_set = set;
22+
debug = config.debug || !config.silent;
1823
}
1924

2025
function warn(msg) {
2126
if (typeof console !== 'undefined' && debug) {
22-
console.warn(("[VueFields warn]: " + msg));
27+
console.log(("%c vue-fields %c " + msg + " "), 'color: #fff; background: #35495E; padding: 1px; border-radius: 3px 0 0 3px;', 'color: #fff; background: #DB6B00; padding: 1px; border-radius: 0 3px 3px 0;');
2328
}
2429
}
2530

@@ -69,11 +74,14 @@ function set(obj, key, val) {
6974
}
7075

7176
function evaluate(expr, context) {
77+
7278
try {
7379
return (Function(("with(this){return " + expr + "}"))).call(context);
7480
} catch (e) {
75-
return false;
81+
warn(e);
7682
}
83+
84+
return false;
7785
}
7886

7987
function each(obj, iterator) {
@@ -95,23 +103,22 @@ function each(obj, iterator) {
95103
return obj;
96104
}
97105

98-
var assign = Object.assign || function (target) {
99-
var arguments$1 = arguments;
100-
101-
102-
for (var i = 1; i < arguments.length; i++) {
106+
/**
107+
* Object.assign() polyfill.
108+
*/
109+
function _assign(target) {
110+
var sources = [], len = arguments.length - 1;
111+
while ( len-- > 0 ) sources[ len ] = arguments[ len + 1 ];
103112

104-
var source = arguments$1[i];
105113

106-
for (var key in source) {
107-
if (Object.prototype.hasOwnProperty.call(source, key)) {
108-
target[key] = source[key];
109-
}
110-
}
111-
}
114+
sources.forEach(function (source) {
115+
Object.keys(source || {}).forEach(
116+
function (key) { return target[key] = source[key]; }
117+
);
118+
});
112119

113120
return target;
114-
};
121+
}
115122

116123
var Field = {
117124

@@ -286,7 +293,7 @@ var Fields = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_
286293
computed: {
287294

288295
fields: function fields() {
289-
return this.prepare(this.config, this.prefix);
296+
return this.prepare();
290297
}
291298

292299
},
@@ -302,30 +309,43 @@ var Fields = {render: function(){var _vm=this;var _h=_vm.$createElement;var _c=_
302309
}
303310
},
304311

305-
evaluate: function evaluate$1(expr, values) {
312+
evaluate: function evaluate$1(expr, values, config) {
306313
if ( values === void 0 ) values = this.values;
314+
if ( config === void 0 ) config = this.config;
307315

308316

309317
if (isString(expr)) {
310-
return evaluate(expr, assign({$match: $match}, values));
318+
319+
var $values = {};
320+
var context = {$match: $match, $values: $values};
321+
322+
each(config, function (ref, key) {
323+
var name = ref.name; if ( name === void 0 ) name = key;
324+
325+
return set($values, name, get(values, name));
326+
}
327+
);
328+
329+
return evaluate(expr, assign(context, $values));
311330
}
312331

313332
return expr.call(this, values, this);
314333
},
315334

316335
prepare: function prepare(config, prefix) {
317336
var this$1 = this;
337+
if ( config === void 0 ) config = this.config;
318338
if ( prefix === void 0 ) prefix = this.prefix;
319339

320340

321341
var arr = isArray(config), fields = [];
322342

323-
each(config, function (field, name) {
343+
each(config, function (field, key) {
324344

325345
field = assign({}, field);
326346

327347
if (!field.name && !arr) {
328-
field.name = name;
348+
field.name = key;
329349
}
330350

331351
if (field.name) {

0 commit comments

Comments
 (0)