cabrillo.attachments - Client
The name space for Cabrillo JS attachment functions. This enables adding and viewing attachments.
cabrillo.attachments - addFile(String tableName, String sysId, Object params, String options)
Presents a document picker and uploads the selected file.
| Name | Type | Description |
|---|---|---|
| tableName | String | Table name of the record to which to attach the attachment. |
| sysID | String | The sys_id of the record to which to attach the attachment. |
| params | Object | Unused. Set to null. |
| options | String | Unused. Set to null. |
| Type | Description |
|---|---|
| promise | If successful a Cabrillo.Attachment object. If the operation fails, an error. |
var table = 'incident';
var sysID = 'a9e30c7dc61122760116894de7bcc7bd';
cabrillo.attachments.addFile(table,
sysID,
null,
null
).then(function(attachment) {
if (attachment) {
console.log('Added a new file.', attachment);
} else {
console.log('User cancelled adding an attachment.');
}
}, function(error) {
console.log('Failed to attach new file.', error);
});
cabrillo.attachments - addFiles(String tableName, String sysId, Object params, Object options)
Presents a document picker to select and upload files.
| Name | Type | Description |
|---|---|---|
| tableName | String | Name of the table that contains the record to attach the file to. |
| sysID | String | Sys_id of the record to attach the file to. |
| params | Object | Optional. Reserved for future use. Set to null. |
| options | Object | Optional. Additional settings for uploading files. |
| options.isSingleSelection | Boolean | Optional. Flag that indicates whether the document picker for uploading files allows multi-selection. Valid values:
Default: False |
| Type | Description |
|---|---|
| Promise | Contains any successfully created attachments and any errors. If multiple files were selected, a Cabrillo.Attachment is created for each successfully uploaded file while an error message is generated for each unsuccessful upload. Data type: Object |
| Promise.attachments | Contains any successfully created attachments. Data type: Array |
| Promise.errors | Contains any errors. Data type: Array |
This example creates a button for adding multiple attachments to an incident record and checks for any upload errors.
this.attachMultipleFilesButton = function() {
c.log("Attempting to add multiple attachments to INC0010453");
var table = 'incident';
var sysID = 'fc74aefa1bfb2c10181499f1b24bcb3c';
cabrillo.attachments.addFiles(table, sysID).then(function(result) {
if (result) {
handleMultipleResult(result)
} else {
c.log('User cancelled adding an attachment.');
}
}, function(error) {
c.log('Failed to attach new files.', error);
});
}
// A helper function to handle addFiles results
function handleMultipleResult(result) {
c.log('Added multiple attachments.', result);
if (result.attachments) {
c.log('Number of new attachments', result.attachments.length);
}
if (result.errors) {
c.log('Number of errors during upload', result.errors.length);
}
}
cabrillo.attachments -viewFile(Cabrillo.Attachment attachment, Cabrillo.Rect sourceRect, String sourceBase64Image)
Presents a document picker and uploads the selected file.
| Name | Type | Description |
|---|---|---|
| attachment | Cabrillo.Attachment | Describes the attachment to view. |
| sourceRect | Cabrillo.Rect | Optional. Describes the source rectangle of the image to scale up. |
| sourceBase64Image | String | Optional. A base64 representation of the source image to scale up. |
| Type | Description |
|---|---|
| promise | If successful, an unresolved object, otherwise an error. |
// A Cabrillo.Attachment dictionary to view
var attachment = {
sys_id: '8e99daa3ff133100ba13ffffffffff2d',
content_type: 'image/jpeg',
path: '8e99daa3ff133100ba13ffffffffff2d.iix'
};
cabrillo.attachments.viewFile(attachment,
null,
null
).then(function() {
// It worked. Nothing to do here.
}, function(error) {
console.log('Failed to view file.', error);
});
To scale an image that was tapped into a native image viewer, the viewFile() method accepts optional arguments for the image's rectangle on the page as well as a base64 encoded thumbnail of the image. The thumbnail is scaled into the full size image with an animation.
// Grab image metadata from an image that was tapped
var imageMetadata = imageMetadataFromEvent(event);
// Optional rect of image on page
var imageRect = imageMetadata.rect;
// Optional base64 encoded image to scale up into native viewer
var base64EncodedImage = imageMetadata.base64;
// A Cabrillo.Attachment dictionary to view
var attachment = {
sys_id: '8e99daa3ff133100ba13ffffffffff2d',
content_type: 'image/jpeg',
path: '8e99daa3ff133100ba13ffffffffff2d.iix'
}
cabrillo.attachments.viewFile(attachment,
imageRect,
base64EncodedImage
).then(function() {
// It worked. Nothing to do here.
}, function(error) {
console.log('Failed to view file.', error);
});