Advertisement
Guest User

AgilePoint_RepeatingFileUpload

a guest
Jul 23rd, 2018
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function SetFieldToFileUploadValue(context, targetFields, dataNames) {
  2.     var contextFieldId = context.id;
  3.     var guid = /-[0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}$/i;
  4.     var matches = contextFieldId.match(guid);
  5.     var isNonRepeatable = (matches === null);
  6.    
  7.     if (isNonRepeatable) {
  8.         var fieldPath = contextFieldId;
  9.     }
  10.     else {
  11.         var subFormId = $(context).closest("div.subFormContentRow").parent().eq(0)[0].id;
  12.         var fieldPath = subFormId + "/" + contextFieldId.substr(0, matches.index);
  13.     }
  14.    
  15.     eFormHelper.getFieldValue(
  16.         {fieldId: fieldPath},
  17.         function(result) {
  18.             var fieldName = fieldPath.substr(fieldPath.indexOf("/") + 1);
  19.             if (Array.isArray(result.data)) {
  20.                 for (var repeatingControlIndex = 0, numRepeats = result.data.length; repeatingControlIndex < numRepeats; repeatingControlIndex++) {
  21.                     var fileArray = result.data[repeatingControlIndex][fieldName];
  22.                     for (var i = 0, len = dataNames.length; i < len; i++) {
  23.                         var data = fileArray[0][dataNames[i]];
  24.                         eFormHelper.setFieldValue({
  25.                             fieldId: targetFields[i] + ":[" + (repeatingControlIndex + 1) + "]",
  26.                             value: data
  27.                         });
  28.                     }
  29.                 }
  30.             }
  31.             else {
  32.                 var fileArray = result.data[fieldName];
  33.                 for (var i = 0, len = dataNames.length; i < len; i++) {
  34.                     var data = fileArray[0][dataNames[i]];
  35.                     eFormHelper.setFieldValue({fieldId: targetFields[i], value: data});
  36.                 }
  37.             }
  38.         }
  39.     );
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement