Skip to content

Commit 304e940

Browse files
committed
v2-Beta7 release
1 parent e7da2cb commit 304e940

File tree

6 files changed

+81
-65
lines changed

6 files changed

+81
-65
lines changed

frappe_better_attach_control/public/js/controls/attach.js

Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -247,28 +247,31 @@ frappe.ui.form.ControlAttach = class ControlAttach extends frappe.ui.form.Contro
247247
var tmp = {options: {restrictions: {}}};
248248
tmp.allow_reload = toBool(ifNull(opts.allow_reload, true));
249249
tmp.allow_remove = toBool(ifNull(opts.allow_remove, true));
250+
function parseVal(v, t) {
251+
if (isEmpty(v)) v = null;
252+
if (t === 's' && v) {
253+
v = cstr(v);
254+
v = v.length ? v : null;
255+
}
256+
else if (t === 'b') v = toBool(ifNull(v, false));
257+
else if (t === 'i' && v) {
258+
v = cint(v);
259+
if (isNaN(v) || v < 1) v = null;
260+
}
261+
else if (t === 'a') v = toArray(v);
262+
return v;
263+
}
264+
each([['upload_notes', 's'], ['allow_multiple', 'b']], function(k) {
265+
tmp.options[k[0]] = parseVal(opts[k[0]], k[1]);
266+
});
250267
each(
251268
[
252-
'upload_notes', 'allow_multiple',
253-
'max_file_size', 'allowed_file_types',
254-
'max_number_of_files', 'crop_image_aspect_ratio',
255-
'as_public',
269+
['max_file_size', 'i'], ['allowed_file_types', 'a'],
270+
['max_number_of_files', 'i'], ['crop_image_aspect_ratio', 'i'],
271+
['as_public', 'b'],
256272
],
257-
function(k, i) {
258-
let v = opts[k];
259-
if (isEmpty(v)) v = null;
260-
if (v && i === 0) {
261-
v = cstr(v);
262-
v = v.length ? v : null;
263-
}
264-
else if (i === 1 || i === 6) v = toBool(ifNull(v, false));
265-
else if (v && [2, 4, 5].indexOf(i) >= 0) {
266-
v = cint(v);
267-
if (isNaN(v) || v < 1) v = null;
268-
}
269-
else if (i === 3) v = toArray(v);
270-
if (i < 2) tmp.options[k] = v;
271-
else tmp.options.restrictions[k] = v;
273+
function(k) {
274+
tmp.options.restrictions[k[0]] = parseVal(opts[k[0]], k[1]);
272275
}
273276
);
274277
return tmp;
@@ -283,12 +286,12 @@ frappe.ui.form.ControlAttach = class ControlAttach extends frappe.ui.form.Contro
283286
if (!this._allow_reload) this.enable_reload();
284287
else this.disable_reload();
285288
}
286-
if (ifNull(opt.allow_remove, true) !== this._allow_remove) {
289+
if (ifNull(opts.allow_remove, true) !== this._allow_remove) {
287290
if (!this._allow_remove) this.enable_remove();
288291
else this.disable_remove();
289292
}
290293
}
291-
let allow_multiple = opt.options && !!opt.options.allow_multiple;
294+
let allow_multiple = opts.options && !!opts.options.allow_multiple;
292295
if (allow_multiple !== this._allow_multiple) {
293296
this._allow_multiple = allow_multiple;
294297
this._set_max_attachments();

frappe_better_attach_control/public/js/controls/v12/attach.js

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -216,28 +216,30 @@ frappe.ui.form.ControlAttach = frappe.ui.form.ControlAttach.extend({
216216
_parse_options: function(opts) {
217217
var tmp = {options: {restrictions: {}}};
218218
tmp.allow_remove = toBool(ifNull(opts.allow_remove, true));
219+
function parseVal(v, t) {
220+
if (isEmpty(v)) v = null;
221+
if (t === 's' && v) {
222+
v = cstr(v);
223+
v = v.length ? v : null;
224+
}
225+
else if (t === 'b') v = toBool(ifNull(v, false));
226+
else if (t === 'i' && v) {
227+
v = cint(v);
228+
if (isNaN(v) || v < 1) v = null;
229+
}
230+
else if (t === 'a') v = toArray(v);
231+
return v;
232+
}
233+
each([['upload_notes', 's'], ['allow_multiple', 'b']], function(k) {
234+
tmp.options[k[0]] = parseVal(opts[k[0]], k[1]);
235+
});
219236
each(
220237
[
221-
'upload_notes', 'allow_multiple',
222-
'max_file_size', 'allowed_file_types',
223-
'max_number_of_files',
224-
'as_public',
238+
['max_file_size', 'i'], ['allowed_file_types', 'a'],
239+
['max_number_of_files', 'i'], ['as_public', 'b'],
225240
],
226-
function(k, i) {
227-
let v = opts[k];
228-
if (isEmpty(v)) v = null;
229-
if (v && i === 0) {
230-
v = cstr(v);
231-
v = v.length ? v : null;
232-
}
233-
else if (i === 1 || i === 6) v = toBool(ifNull(v, false));
234-
else if (v && [2, 4, 5].indexOf(i) >= 0) {
235-
v = cint(v);
236-
if (isNaN(v) || v < 1) v = null;
237-
}
238-
else if (i === 3) v = toArray(v);
239-
if (i < 2) tmp.options[k] = v;
240-
else tmp.options.restrictions[k] = v;
241+
function(k) {
242+
tmp.options.restrictions[k[0]] = parseVal(opts[k[0]], k[1]);
241243
}
242244
);
243245
return tmp;

frappe_better_attach_control/public/js/controls/v13/attach.js

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -237,28 +237,30 @@ frappe.ui.form.ControlAttach = frappe.ui.form.ControlAttach.extend({
237237
var tmp = {options: {restrictions: {}}};
238238
tmp.allow_reload = toBool(ifNull(opts.allow_reload, true));
239239
tmp.allow_remove = toBool(ifNull(opts.allow_remove, true));
240+
function parseVal(v, t) {
241+
if (isEmpty(v)) v = null;
242+
if (t === 's' && v) {
243+
v = cstr(v);
244+
v = v.length ? v : null;
245+
}
246+
else if (t === 'b') v = toBool(ifNull(v, false));
247+
else if (t === 'i' && v) {
248+
v = cint(v);
249+
if (isNaN(v) || v < 1) v = null;
250+
}
251+
else if (t === 'a') v = toArray(v);
252+
return v;
253+
}
254+
each([['upload_notes', 's'], ['allow_multiple', 'b']], function(k) {
255+
tmp.options[k[0]] = parseVal(opts[k[0]], k[1]);
256+
});
240257
each(
241258
[
242-
'upload_notes', 'allow_multiple',
243-
'max_file_size', 'allowed_file_types',
244-
'max_number_of_files',
245-
'as_public',
259+
['max_file_size', 'i'], ['allowed_file_types', 'a'],
260+
['max_number_of_files', 'i'], ['as_public', 'b'],
246261
],
247-
function(k, i) {
248-
let v = opts[k];
249-
if (isEmpty(v)) v = null;
250-
if (v && i === 0) {
251-
v = cstr(v);
252-
v = v.length ? v : null;
253-
}
254-
else if (i === 1 || i === 6) v = toBool(ifNull(v, false));
255-
else if (v && [2, 4, 5].indexOf(i) >= 0) {
256-
v = cint(v);
257-
if (isNaN(v) || v < 1) v = null;
258-
}
259-
else if (i === 3) v = toArray(v);
260-
if (i < 2) tmp.options[k] = v;
261-
else tmp.options.restrictions[k] = v;
262+
function(k) {
263+
tmp.options.restrictions[k[0]] = parseVal(opts[k[0]], k[1]);
262264
}
263265
);
264266
return tmp;

frappe_better_attach_control/public/js/uploader/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
2828
this.uploader.$watch('show_file_browser', function(show_file_browser) {
2929
if (show_file_browser && !me.uploader.$refs.file_browser._restrictions) {
3030
me._override_file_browser(
31-
!isEmpty(opts.restrictions)
31+
isPlainObject(opts) && !isEmpty(opts.restrictions)
3232
? opts.restrictions
3333
: {
3434
max_file_size: null,
@@ -42,7 +42,10 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
4242
}
4343
_override_uploader(opts) {
4444
var up = this.uploader;
45-
up.restrictions.as_public = !!opts.restrictions.as_public;
45+
if (opts) {
46+
up.restrictions = opts.restrictions;
47+
up.restrictions.as_public = !!opts.restrictions.as_public;
48+
}
4649
up.dropfiles = function(e) {
4750
this.is_dragging = false;
4851
if (isObject(e) && isObject(e.dataTransfer))

frappe_better_attach_control/public/js/uploader/v12/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
2828
this.uploader.$watch('show_file_browser', function(show_file_browser) {
2929
if (show_file_browser && !me.uploader.$refs.file_browser._restrictions) {
3030
me._override_file_browser(
31-
!isEmpty(opts.restrictions)
31+
isPlainObject(opts) && !isEmpty(opts.restrictions)
3232
? opts.restrictions
3333
: {
3434
max_file_size: null,
@@ -41,7 +41,10 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
4141
}
4242
_override_uploader(opts) {
4343
var up = this.uploader;
44-
up.restrictions.as_public = !!opts.restrictions.as_public;
44+
if (opts) {
45+
up.restrictions = opts.restrictions;
46+
up.restrictions.as_public = !!opts.restrictions.as_public;
47+
}
4548
up.dropfiles = function(e) {
4649
this.is_dragging = false;
4750
if (isObject(e) && isObject(e.dataTransfer))

frappe_better_attach_control/public/js/uploader/v13/index.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
2828
this.uploader.$watch('show_file_browser', function(show_file_browser) {
2929
if (show_file_browser && !me.uploader.$refs.file_browser._restrictions) {
3030
me._override_file_browser(
31-
!isEmpty(opts.restrictions)
31+
isPlainObject(opts) && !isEmpty(opts.restrictions)
3232
? opts.restrictions
3333
: {
3434
max_file_size: null,
@@ -41,7 +41,10 @@ frappe.ui.FileUploader = class FileUploader extends frappe.ui.FileUploader {
4141
}
4242
_override_uploader(opts) {
4343
var up = this.uploader;
44-
up.restrictions.as_public = !!opts.restrictions.as_public;
44+
if (opts) {
45+
up.restrictions = opts.restrictions;
46+
up.restrictions.as_public = !!opts.restrictions.as_public;
47+
}
4548
up.dropfiles = function(e) {
4649
this.is_dragging = false;
4750
if (isObject(e) && isObject(e.dataTransfer))

0 commit comments

Comments
 (0)