You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.7 KiB
44 lines
1.7 KiB
/** @odoo-module */
|
|
|
|
import { registry } from '@web/core/registry';
|
|
import core from 'web.core';
|
|
import publicWidget from 'web.public.widget';
|
|
import { NameAndSignature } from 'web.name_and_signature';
|
|
import { SignatureForm } from '@franchise_management/js/portalSignature';
|
|
|
|
//extending the public widget for adding signature form and sign the contract
|
|
publicWidget.registry.SignatureForm = publicWidget.Widget.extend({
|
|
selector: '.o_portal_signature_form',
|
|
start: function () {
|
|
var hasBeenReset = false;
|
|
var callUrl = this.$el.data('call-url');
|
|
var nameAndSignatureOptions = {
|
|
defaultName: this.$el.data('default-name'),
|
|
mode: this.$el.data('mode'),
|
|
displaySignatureRatio: this.$el.data('signature-ratio'),
|
|
signatureType: this.$el.data('signature-type'),
|
|
fontColor: this.$el.data('font-color') || 'black',
|
|
};
|
|
var sendLabel = this.$el.data('send-label');
|
|
var form = new SignatureForm(this, {
|
|
callUrl: callUrl,
|
|
nameAndSignatureOptions: nameAndSignatureOptions,
|
|
sendLabel: sendLabel,
|
|
});
|
|
// Correctly set up the signature area if it is inside a modal
|
|
this.$el.closest('.modal').on('shown.bs.modal', function (ev) {
|
|
if (!hasBeenReset) {
|
|
// Reset it only the first time it is open to get correct
|
|
// size. After we want to keep its content on reopen.
|
|
hasBeenReset = true;
|
|
form.resetSignature();
|
|
} else {
|
|
form.focusName();
|
|
}
|
|
});
|
|
return Promise.all([
|
|
this._super.apply(this, arguments),
|
|
form.appendTo(this.$el)
|
|
]);
|
|
},
|
|
});
|
|
|