1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- 'use strict';
- var getBusinessObject = require('bpmn-js/lib/util/ModelUtil').getBusinessObject,
- cmdHelper = require('../helper/CmdHelper'),
- escapeHTML = require('../Utils').escapeHTML;
- var entryFieldDescription = require('./EntryFieldDescription');
- var checkbox = function(options, defaultParameters) {
- var resource = defaultParameters,
- id = resource.id,
- label = options.label || id,
- canBeDisabled = !!options.disabled && typeof options.disabled === 'function',
- canBeHidden = !!options.hidden && typeof options.hidden === 'function',
- description = options.description;
- resource.html =
- '<input id="activiti-' + escapeHTML(id) + '" ' +
- 'type="checkbox" ' +
- 'name="' + escapeHTML(options.modelProperty) + '" ' +
- (canBeDisabled ? 'data-disable="isDisabled"' : '') +
- (canBeHidden ? 'data-show="isHidden"' : '') +
- ' />' +
- '<label for="activiti-' + escapeHTML(id) + '" ' +
- (canBeDisabled ? 'data-disable="isDisabled"' : '') +
- (canBeHidden ? 'data-show="isHidden"' : '') +
- '>' + escapeHTML(label) + '</label>';
- // add description below checkbox entry field
- if (description) {
- resource.html += entryFieldDescription(description);
- }
- resource.get = function(element) {
- var bo = getBusinessObject(element),
- res = {};
- res[options.modelProperty] = bo.get(options.modelProperty);
- return res;
- };
- resource.set = function(element, values) {
- var res = {};
- res[options.modelProperty] = !!values[options.modelProperty];
- return cmdHelper.updateProperties(element, res);
- };
- if (typeof options.set === 'function') {
- resource.set = options.set;
- }
- if (typeof options.get === 'function') {
- resource.get = options.get;
- }
- if (canBeDisabled) {
- resource.isDisabled = function() {
- return options.disabled.apply(resource, arguments);
- };
- }
- if (canBeHidden) {
- resource.isHidden = function() {
- return !options.hidden.apply(resource, arguments);
- };
- }
- resource.cssClasses = ['bpp-checkbox'];
- return resource;
- };
- module.exports = checkbox;
|